4
:F#:ダブルバックティック値の名前が機能名と衝突しますか? Visual Studioの2015年に
let myFunction (``string`` : string) =
"\"Quoted string\"" |> (Regex "\"[^\"]*\"").Match |> string
let myOtherFunction (str : string) =
"\"Quoted string\"" |> (Regex "\"[^\"]*\"").Match |> string
最初の関数はコンパイラエラーを生成し、string
機能は赤で下線が引かれています。 ( "この式はMatch型 - > 'aが必要ですが、ここに型文字列があります)
第2の関数は問題ありません。
これは仕様です。
実際、ここではダブルバッククォートは全く必要ありません。あなたは 'let upper(string:string)= string.ToUpper()'と書くことができました。 'upper" foo "'は結果 "FOO"を生成します。ダブルバッククォートが必要なのは、 'type'のようなキーワードの名前でパラメータを指定したい場合や、名前にスペースやその他の通常不正な句読点を含めたい場合です。 – rmunn