两个简单的F#问题
有两个F#的片段我想理解,但不知道用谷歌搜索什么。第一:两个简单的F#问题,f#,F#,有两个F#的片段我想理解,但不知道用谷歌搜索什么。第一: let ``1+2`` () = .... 我猜这只是指“将表达式转换为标识符”?但是,如果我想引用它,该特性叫什么 第二,当字符出现在类型中时,^是什么意思?我发现有几处提到过它,但解释总是说“类型就是这个”,而不是“它与没有1^1的类型的区别在于……”。例如: let inline blah x y = x+y;; val inline blah : ^a -> ^b -> ^c when ( ^a
let ``1+2`` () = ....
我猜这只是指“将表达式转换为标识符”?但是,如果我想引用它,该特性叫什么
第二,当字符出现在类型中时,^
是什么意思?我发现有几处提到过它,但解释总是说“类型就是这个”,而不是“它与没有1^1的类型的区别在于……”。例如:
let inline blah x y = x+y;;
val inline blah :
^a -> ^b -> ^c
when ( ^a or ^b) : (static member ( + ) : ^a * ^b -> ^c)
非常感谢。反引号语法实际上只是将任意字符“引用”到标识符中的一种方法,我不确定它是否有名称。它通常用于例如
let ``This Identifier Contains Spaces`` = 42
或
克拉表示静态解析的类型参数:
用于特殊重载/泛型
foo.``member``(42) // 'member' is an F# keyword, but maybe it was the name of some
// method from C# code you're using, so here's a way to call it