Я работаю на сайте guide.elm-lang на Случайном примере .
Я пытаюсь добавить функцию, которая показывает вам общее количество раз, когда вы бросали кости, и некоторые статистические данные о том, сколько раз вы получали каждое лицо.
Для этого я изменил модель так:
type alias Model =
{
die_face : Int,
total_throws : Int,
stats: Array.Array Int
}
и вот что я делаю для обновления модели:
{ model |
die_face = face,
total_throws = model.total_throws + 1,
stats = Array.set face ((Array.get face model.stats) + 1) model.stats
}
это выдает ошибку, которая говорит мне:
Этот get
вызов производит:
#Maybe# Int
Но (+) работает только со значениями # Int # и # Float #.
Что означает, что Array.get
возвращает не Int
, а Maybe
, и поэтому я не могу добавить его к числу 1.
Я пытался использовать списки для достижения той же цели, но, поскольку они не проиндексированы, я не уверен, что увеличивать при отображении на него. Я думаю об использовании записей, чтобы сделать это, и найти способ сопоставить ключи записи с face
Int.
В общем, мой вопрос. Каков хороший метод для увеличения элемента в index [x] массива в elm? Или, если я просто подумаю об этом, каков будет путь вяза?