printfn "%A" "c"
を実行すると、"c"
と表示されます。printfn "%A" "c"を使用してF#
printfn "%s" "c"
を実行すると、c
が得られます。
なぜ違いがありますか?同じことがchar
になります。
printfn "%A" "c"
を実行すると、"c"
と表示されます。printfn "%A" "c"を使用してF#
printfn "%s" "c"
を実行すると、c
が得られます。
なぜ違いがありますか?同じことがchar
になります。
%A
指定子は、オブジェクト型をヒントしようとします。"c"
は文字列であることを示しています。 %s
コンパイラは文字列を出力して引用符を印刷しないようにすることを知っています
printfn "%A"
はリフレクションを使用するため、F#Interactiveによって自動的に出力される値と同じ結果が表示されます。一方、%s
は文字列のみであり、文字列の内容を示します。
"%s"
の一般的な場合は、ToString
の方法が使用される場合、"%O"
です。 %A
指定子は遅いですが、オーバーライドされたToString
メソッドのない構造型および型に役立ちます。