f#值名称中tick(撇号)的用途?

时间:2014-05-15 21:22:25

标签: f#

我正在阅读有关函数组合的教程,并且我一直看到在值声明结束时使用的'运算符。

我知道它在参数之前表示通用,但是当你看到它时它意味着什么:

let add x y = x + y
let myFunc' = add 10

我唯一能看到的是'只是标识符中的另一个字符。是对的吗?因为如果我使用相同的示例,使用 myFunc 会给出一个未定义的错误,其中 myFunc'确实解决了。

2 个答案:

答案 0 :(得分:16)

是的,正如@Lee指出的那样,'是一个有效的标识符。

虽然标识符末尾的'目的通常是,但是将值表示为与没有结尾{{1}的名称相关或相似的值} 即可。这是borrowed from mathematics,F#是一种函数式语言,用于表示某些内容为 prime ,因为 A 的发音为',其中 A'< / em>是aye

答案 1 :(得分:5)

是的,'是一个有效的标识符字符,虽然它不能是第一个。标识符的结构在specification

中定义

3.4标识符和关键字

  

ident-text = ident-start-char ident-char *

     

ident-char = letter-char | digit-char |连接字符|   合并-char | formatting-char | '| _