最初のF#ライブラリを作成しています
私はstring.Format
を使用しようとしていますが、そのような関数が存在しないと文句を言います。
利用できませんか、それとも何か問題がありますか?
フルネームの使用を避けたい場合は、F#でopen
を使用できます。
open System
let s = String.Format("Hello {0}", "world")
これは、F#インタラクティブ(最初にopen
句を入力)と通常のコンパイル済みアプリケーションの両方で機能します。重要なことは、String
を大文字のS
で記述する必要があることです。これは、C#のstring
が通常の型名ではないためです。これは、System.String
型を参照するキーワードです。
または、sprintf
関数を確認することもできます。これはString.Format
のF#固有の代替で、いくつかの素晴らしい利点があります。たとえば、型チェックされます。
let s = sprintf "Hello %s! Number is %d" "world" 42
コンパイラーは、パラメーター(stringおよびint)がフォーマット指定子(ストリングの場合は%s
、整数の場合は%d
)と一致することを確認します。関数は、部分的な関数の適用を使用するシナリオでもよりよく機能します。
let nums = [ 1 .. 10 ]
let formatted = nums |> List.map (sprintf "number %d")
これにより、「数値1」、「数値2」などを含む文字列のリストが生成されます。String.Format
を使用してこれを行う場合は、ラムダ関数を明示的に記述する必要があります。
そのフルネームは次のとおりです。
System.String.Format