Я новичок в 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 немного светлая -
generate: (a → msg) → Генератор a → Cmd msg
Создайте команду, которая будет генерировать случайные значения.
Это даже правильный подход к обработке двух кубиков, или есть лучший способ? Я влю, ну, пожалуйста, будь милым :)