16

私はこれを尋ねなければならないのは完全に初心者のように感じますが、それは私を困惑させました.

次のような書式文字列を設定します。

let fs = "This is my format test %s"

次に、次のように使用しようとします。

let s = sprintf fs "testing"

そうすると、次のエラーが表示されます。

//stdin(26,17): error FS0001: The type 'string' is not compatible with the type 'Printf.StringFormat<('a -> 'b)>'

だから私はこれを試しました:

let s = sprintf (Printf.StringFormat fs) "test"

REPLが応答したのは次のとおりです。

//stdin(28,18): error FS1124: Multiple types exist called 'StringFormat', taking different numbers of generic parameters. Provide a type instantiation to disambiguate the type resolution, e.g. 'StringFormat<_>'.

だから私はこれを試しました:

let s = sprintf (Printf.StringFormat<string> fs) "test" 

そして、私はこれを取得します:

//stdin(29,18): error FS0001: The type ''a -> 'b' does not match the type 'string'

痛いほど明白な何かが欠けていますか?これは、Xamarin Studio の F# インタラクティブ ウィンドウから Mac で F# 3.0 を使用しています。

4

1 に答える 1