是 OCaml 中的整数构造函数
Are integers constructors in OCaml
我正在关注 OCaml 上的 wikibook,他们说整数类型可以这样构造:
type int = 0 | 1 | 2 | (* .... *) | -1 | -2 | (* ... *) ;;
后来,书上指出所有的构造函数都是以大写字母开头的单词。还有特殊的构造函数,true false 和 1, 2, 3 这样的整数。
所以,回到乌托普。我输入以下内容:
type d = 0 | 1 | 2 ;;
我在 0 上遇到语法错误。我错过了什么? 0不是构造函数吗?
正如您所说,您可以将整数定义为变体类型,这在字面上是不正确的。构造函数必须是以大写字母开头的标识符。但这是一种思考构造函数(和整数)的方式,在某些方面很有启发性。就这些了。
顺便说一下,true
和 false
与构造函数在意义上与整数非常相似。它们也不以大写字母开头。但是将它们视为构造函数是很有启发性的。
我正在关注 OCaml 上的 wikibook,他们说整数类型可以这样构造:
type int = 0 | 1 | 2 | (* .... *) | -1 | -2 | (* ... *) ;;
后来,书上指出所有的构造函数都是以大写字母开头的单词。还有特殊的构造函数,true false 和 1, 2, 3 这样的整数。
所以,回到乌托普。我输入以下内容:
type d = 0 | 1 | 2 ;;
我在 0 上遇到语法错误。我错过了什么? 0不是构造函数吗?
正如您所说,您可以将整数定义为变体类型,这在字面上是不正确的。构造函数必须是以大写字母开头的标识符。但这是一种思考构造函数(和整数)的方式,在某些方面很有启发性。就这些了。
顺便说一下,true
和 false
与构造函数在意义上与整数非常相似。它们也不以大写字母开头。但是将它们视为构造函数是很有启发性的。