Haskellの同等物は何ですか
string str = string.Format("{0} {1}",10,20); // C#
GHCには Printf モジュールがあります。
import Text.Printf
str :: String
str = printf "%d %d" 10 20
ただし、実行する方がおそらく簡単です。
str = show 10 ++ " " ++ show 20
text-format-simple パッケージで提供されるformat
関数を使用できます。
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]
StackOverflowのHaskellでフォーマットライブラリを検索している人のために、ここに答えを入れてください。 fmt
と呼ばれるタイプセーフで高速なフォーマットライブラリがあります。これを使用すると、次のようなコードを記述できます。
> "There are "+|n|+" million bicycles in "+|city|+"."