【发布时间】:2018-11-10 21:51:44
【问题描述】:
我正在处理guide.elm-lang website 上的Random example。 我正在尝试添加一项功能,该功能可显示您掷骰子的总次数,以及有关您获得每张脸的次数的一些统计数据。
为此,我将模型更改为如下所示:
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。
总的来说,我的问题是。在 elm 的数组的索引 [x] 处增加元素的好方法是什么?或者如果我只是在想这个错误,那么榆树的方法是什么?
【问题讨论】: