我正在閱讀函數組合的教程,並且我始終看到在值聲明結尾處使用的'運算符。F#值名稱中的剔號(撇號)的用途是什麼?
我知道這意味着一個通用的,當它前面的參數,但它是什麼意思,當你看到它像:
let add x y = x + y
let myFunc' = add 10
我能看到的唯一的事情是,「只是另一個字符在標識符中。是對的嗎?因爲如果我使用相同的示例,使用myFunc會給出未定義的錯誤,其中myFunc'確實會解析。
我正在閱讀函數組合的教程,並且我始終看到在值聲明結尾處使用的'運算符。F#值名稱中的剔號(撇號)的用途是什麼?
我知道這意味着一個通用的,當它前面的參數,但它是什麼意思,當你看到它像:
let add x y = x + y
let myFunc' = add 10
我能看到的唯一的事情是,「只是另一個字符在標識符中。是對的嗎?因爲如果我使用相同的示例,使用myFunc會給出未定義的錯誤,其中myFunc'確實會解析。
是的,正如@Lee指出的,'
是一個有效的標識符。
雖然,目的的'
在標識符的結束通常是指價值的東西相關或類似的不結束'
命名值。這是borrowed from mathematics,F#是一個功能性的語言,用於表示某物爲黃金因爲一個發音aye
其中A」是aye-prime
。
故事時間:我有時也使用它(並且已經看到其他人不時使用它)來表示遞歸嵌套函數,所以頂層函數可以被稱爲「插入」,而內部函數可以被稱爲「插入」 rec插入',缺乏更好的命名:) –
是的,'是一個有效的標識字符,雖然它不能是第一個。標識符的結構在specification定義:
3.4標識符和關鍵字
IDENT-文本= IDENT - 開始 - 炭IDENT-字符*
IDENT炭=信炭| digit-char |連接字符| combine-char | formatting-char | '| _
是的,這是正確的。這只是標識符中的另一個字符。 – Gustavo