4
在Visual Studio 2015:F#:双重提取值名称与函数名称冲突?
let myFunction (``string`` : string) =
"\"Quoted string\"" |> (Regex "\"[^\"]*\"").Match |> string
let myOtherFunction (str : string) =
"\"Quoted string\"" |> (Regex "\"[^\"]*\"").Match |> string
首先函数生成编译器错误,则string
功能在红色下划线。 (“这表达预计将有类型相匹配 - >“一但这里的类型是字符串”)
第二个功能是很好,没有问题。
这是设计吗?
而且,事实上,双反引号是没有必要在这里所有。你可以写'让上(字符串:字符串)= string.ToUpper()',它会工作:'上“富”'会产生的结果'“FOO”'。唯一一次双反引号是** **必需的是,如果你想通过像'type'关键字的名字来命名的参数,或者如果你想在其名称中的空格或其他常非法标点符号。 – rmunn