Подтвердить что ты не робот

Форматирование строк в Haskell

Что такое haskell-эквивалент

string str = string.Format("{0} {1}",10,20); // C#
4b9b3361

Ответ 1

В GHC есть модуль Printf.

import Text.Printf
str :: String
str = printf "%d %d" 10 20

однако, вероятно, проще просто сделать

str = show 10 ++ " " ++ show 20

Ответ 2

Вы можете использовать функцию format, предоставляемую пакетом text-format-simple:

import Text.Format
format "{0} {1}" [show 10, show 20]

Эта функция имеет подпись:

format :: String -> [String] -> String

Итак, все, что вам нужно, это указать ваши параметры как строки.
Другой пример:

format "Some {0} believes that 1 + 1 = {1}." ["people",show 10]

Ответ 3

Поместите ответ здесь, если кто-то ищет библиотеки форматирования в Haskell на StackOverflow. Там есть безопасная и быстрая библиотека форматирования, называемая fmt. С его помощью вы можете написать такой код:

> "There are "+|n|+" million bicycles in "+|city|+"."

Ответ 4

Это то, что вы ищете?

printf "%d %d" 10 20

См. Text.Printf.