gpt4 book ai didi

arrays - Elm - 更新列表中的元素

转载 作者:行者123 更新时间:2023-12-04 16:43:08 25 4
gpt4 key购买 nike

我刚开始在 Elm 中编程,但遇到了一些问题:

我想有一种方法可以更新列表中某个索引处的元素字段。

我的 签名看起来像这样:

updateElement : List (ID, Task) -> Int -> List (ID, Task)

和:
type alias Task =
{ description : String, focus : Bool}

在这种情况下,我想将索引处任务的 bool 值(焦点)设置为 true,并将列表中的所有其他任务设置为 false。

我已经尝试过在 Elm 中使用数组,但后来我必须使用 Maybe 并且认为这不是一个好的解决方案。

我想我将不得不使用“ map ”来更改列表中的元素,但我不知道如何在特定索引处更改它。

谢谢!

最佳答案

现在您已经澄清了您的问题,真正的答案是 Chad 发布的两个更新的组合

updateElement : List (ID, Task) -> Int -> List (ID, Task)
updateElement list indexToFocusOn =
let
toggle index (id, task) =
if index == indexToFocusOn then
(id, { task | focus = true })
else
(id, { task | focus = false })
in
List.indexedMap toggle list

关于arrays - Elm - 更新列表中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34502706/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com