我无法理解随机生成器如何工作。
在以下示例中,我尝试在点击时滚动两个骰子, https://ellie-app.com/d9rXQHpfJa1/1
但是
Function generate is expecting the 2nd argument to be:
Random.Generator ( Int, Int )
But it is:
( Random.Generator Int, Random.Generator Int )
答案 0 :(得分:3)
错误消息为您提供了一个强烈暗示,即您试图传递的参数不符合预期。 Elm进行了很多类型推断,因为NewFace (Int, Int)
是一个构造函数,它接受两个整数的元组,这就是传递给generate
的第二个参数所期望的。
如果您访问Random package documentation,您将看到一个带有两个生成器的函数,并为您提供一个使用元组中前两个生成器的生成器。它被称为Random.pair
,如果您在代码中使用它,它将如下所示:
( model, Random.generate NewFace (Random.pair (Random.int 1 6) (Random.int 1 6 )))