FsUnit исходный код содержит необычное определение:Где определяется литер «id»?
let be = id
FSI выход:
val was : ('a -> 'a)
семантикой "ид" является в скобках форма следующего утверждения:
let be x = x
FSI:
val be : 'a -> 'a
Вы можете увидеть небольшое различие: последний пример заменяет выражение верно с истинным, в то время как первый синтаксис будет представлять его как (правда).
Что меня озадачивает, так это то, что я не могу найти ссылку на «id» в справочнике языка F #, и это не описано в книге «Программирование F #». Более того, «id» не является зарезервированным ключевым словом, я могу определить «id» для чего-то еще, а затем я больше не могу использовать его таким образом, который показан в первом примере. Поэтому мне интересно, есть ли какие-либо документы F #, которые описывают этот литерал и его семантику.
Я вижу. Спасибо, Тим. –