我正在尝试使用唯一标识符初始化一组元素。这些元素是初始模型的一部分。
我想到的是一个功能
initElement: Int -> InputElement -> Output initElement id element = ...
将给定的id添加到给定的元素。现在,我在另一个函数中遍历这些元素,如下所示:
uid = 0 elementsList = ... newList = List.map (initElement uid++) elementsList
我希望List.map在元素上的每次迭代时都增加该整数uid,以便每个元素都分配一个唯一的数字。++显然不起作用。
这是否可能,或者我是否考虑面向对象?我对函数式编程非常陌生。
一种选择是使用List.indexedMap
http://package.elm-lang.org/packages/elm-lang/core/3.0.0/List#indexedMap
它为您的函数作为第一个参数提供了一个不错的递增索引作为参数。然后可以使用它来适当地修改传入的uid