我有这段代码:
exception Invalid_argument("Random.int")
编译好了,但是当我执行它时,会出现此错误:
attributes: {
username: {
type: 'string',
required: true
},
firstname: {
type: 'string',
required: true
},
lastname: {
type: 'string',
required: true
},
email: {
type: 'string',
email: 'true',
required: true,
unique: true
},
buddy: {
collection: "Buddy",
via: "buddyOf"
}
}
此问题的解决方法是什么?
答案 0 :(得分:8)
Random.int bound
返回0
(包括)和bound
之间的随机整数(不包括)。bound
必须大于0
且小于2^30
。
所以最接近你想要的是:
let my_max_int = (1 lsl 30) - 1 in
Random.int my_max_int
正如gsg建议的那样,使用Random.bits ()
更清晰可以得到几乎相同的结果(它也可以返回2^30 - 1
)。
如果你真的想得到任何正的原生整数,也许你可以使用Random.nativeint
,但这意味着你必须使用模块Nativeint
和Nativeint.t
而不是{{1 }}