Это связано с учебниками Elm (http://guide.elm-lang.org/architecture/effects/random.html), и я пытаюсь создать список случайных чисел (всего 2 элемента на данный момент) для одной из проблем.Тип конфликта при генерации случайного списка целых чисел в Elm
я получаю ошибку типа при попытке создания списка:
The 2nd argument to function `generate` is causing a mismatch.
39| Random.generate NewFaces intList)
^^^^^^^
Function `generate` is expecting the 2nd argument to be:
Random.Generator List
But it is:
Random.Generator (List Int)
Это код, я использую:
update : Msg -> Model -> (Model, Cmd Msg)
update msg model =
case msg of
Roll ->
let
intList : Random.Generator (List Int)
intList =
Random.list 2 (Random.int 1 6)
in
(model, Random.generate NewFaces intList)
NewFaces newFaces ->
({ model | dieFaces = newFaces}, Cmd.none)
Я все еще пытаюсь получить мою голову обернутые вокруг типов - - особенно в отношении списков. Я предполагаю (List Int) означает список целых чисел, но я не уверен, что означает List by itself (список произвольного типа?).
Я играл с кодом, вытаскивая генератор в отдельную переменную (intList), а также явно печатая ее. Я также попытался ввести его Random.Generator List, который также вызывает ошибку. В принципе, я мог бы использовать помощь, чтобы выяснить, как согласовать List vs. (List Int).
Спасибо - супер новый для Вязов, поэтому любое руководство оценено.
Oh ! хорошо, поэтому причина, по которой он ожидал Список, состоит в том, что я сказал, что NewFaces должен ожидать Список вместо (List Int) - это имеет смысл, спасибо! Я был так привязан к функции Random.generate и даже не думал о сообщении NewFaces. –