Nil 只用在 enum 及其模式匹配吗?

Nil 只用在 enum 及其模式匹配吗?

MoonBit语法里没有特殊的Nil。所以定义enum的enum constructor时,Nil也是一个合法的标识符。如果你指的是@immut/list.Nil,它当然只能用在相关的场景,例如模式匹配的pattern中

谢谢解答,不过我不知道什么算是特殊的Nil,只是moonbit同时有Nil和None,令我有点困惑;而且看语法介绍,好像有Nil的地方都是enum。

好像理解你说的特殊的Nil了,是指作为关键字的Nil吗?

是的,Nil和None都不是关键字。所以enum里的constructor取名叫Nil、None、MyCtor、Foo都可以,这只是个普通的标识符

谢谢,完全理解了,那我建议介绍语法的地方也罗列一下moonbit的所有关键字 :joy::kissing_heart:

2 个赞