Random 在SML中生成随机数
如何从特定范围生成随机数,例如[1100]范围内的整数34Random 在SML中生成随机数,random,sml,Random,Sml,如何从特定范围生成随机数,例如[1100]范围内的整数34 我看了,但它没有给我我想要的,至少从我能理解的角度来看。我想你必须在给定的链接中使用随机结构,就像这样 - val nextInt = Random.randRange (1,100); - val r = Random.rand (1,1); - val x1 = nextInt r; - val x2 = nextInt r; 要获得1到100之间的34个整数,可以使用: let val seed = Random.ran
我看了,但它没有给我我想要的,至少从我能理解的角度来看。我想你必须在给定的链接中使用随机结构,就像这样
- val nextInt = Random.randRange (1,100);
- val r = Random.rand (1,1);
- val x1 = nextInt r;
- val x2 = nextInt r;
要获得1到100之间的34个整数,可以使用:
let
val seed = Random.rand (123,456)
in
List.tabulate(34, fn i => Random.randRange (1,100) seed)
end;
请注意,值
seed
是一个引用,每次调用Random.randRange都会更新该值。如果您的操作正确,请查看结构Random
中的函数randRange
,它应该非常适合您的操作need@waldrumpus嗯,好吧,但我不懂怎么写论点。它应该类似于Random.randRange((i,j)s)
,(或者我完全错了)但是s
是什么呢?使用函数Rand.Rand:(int*int)->Rand
来实例化一个随机数生成器。此外,在调用curried函数时,请注意省略括号:Random.randRange(i,j)s
@waldrumpus在Poly/ML中不支持随机结构。如何使用Poly/ML进行此操作?