ELM 模型:如何将值转换为值列表?

ELM Models: How Can I Transfer A Value Into A List Of Values?

我想将某个值添加到列表中。两者都在我的 ELM 模型中:

type alias Model =
{   syllables : List Syllable
,   words : List Word
,   newSyllable : String
,   newWord : String
}

我想添加 newSyllable valuesyllableslist,当我点击按钮。

我将这个属性放在我的视图中:

onClick TransferSyllable

一切正常,但我想知道如何将模型的一个值转移到值列表中!?

谢谢。

编辑:

这是我对“Syllable”的定义:

type alias Syllable =
{   content : String
,   start : Bool
,   mid : Bool
,   end : Bool
}

我想将值插入到列表的末尾。

因为 Syllable 是一个有四个字段的记录类型,而 newSyllable 只是一个字符串,你需要一个函数将 String 变成 Syllable.我假设该函数具有签名:

makeSyllable : String -> Syllable

可以使用 List.append 将音节添加到列表的末尾。由于 append 采用 List a,因此在将 newSyllable 传递给 append:

时,您需要在 newSyllable 周围添加方括号
{ model | syllables = List.append model.syllables [ makeSyllable model.newSyllable ] }