DrRacket Scheme当前伪随机生成器合同违规

时间:2017-03-30 22:50:08

标签: scheme racket

对于以下行:

(random 9 current-pseudo-random-generator)

我收到以下错误:

. . random: contract violation
  expected: (or/c (integer-in 1 4294967087) pseudo-random-generator?)
  given: #<procedure:current-pseudo-random-generator>
> 

怎么了?

1 个答案:

答案 0 :(得分:2)

current-pseudo-random-generatorparameter,因此您必须像

一样使用它
(random 9 (current-pseudo-random-generator))

默认情况下,random会自动使用它,因此您可以将示例简化为(random 9)