Как добавить второй кубик в этот пример эффектов вяза?
Я новичок в Elm и смотрю на следующий пример (обратите внимание, что это под более новой архитектурой 0.17, где Action теперь Command):http://elm-lang.org/examples/random
Существует дополнительная задача добавить второй кубик к примеру, чтобы одним щелчком кнопки бросить новое значение для каждого кубика. Моя идея состоит в том, чтобы изменить модель, чтобы держать два отдельных значения, по одному для каждого кубика, аля
type alias Model =
{ dieFace1 : Int
, dieFace2 : Int
}
Это работает нормально, пока я не доберусь до блока обновления. Я не уверен, как обновить генератор случайных чисел, чтобы создать два значения. Эта функция немного смущает меня.
type Msg
= Roll
| NewFace Int Int
update : Msg -> Model -> (Model, Cmd Msg)
update msg model =
case msg of
Roll ->
**(model, Random.generate NewFace (Random.int 1 6))** <-- not sure what to do here
NewFace newFace1 newFace2 ->
(Model newFace1 newFace2, Cmd.none)
Документация для функции Random.generate немного легкая -
генерировать: (a -> msg) -> Генератор a -> Cmd msg
Создайте команду, которая будет генерировать случайные значения.
Это даже правильный подход к обработке двух кубиков или есть лучший способ? Я вяз, пожалуйста, будь милым :)