无法获取记录的记录属性

时间:2017-02-14 19:08:42

标签: record elm

我有这个

{ a |
    b = { a.b |
        c =
            Utils.newC
                a.b.c
        }
}

但编译器只是说“不”:

-- SYNTAX PROBLEM ----------------------------------------------------- Main.elm
I ran into something unexpected when parsing your code!

43|                  b = { a.b |
                            ^
I am looking for one of the following things:

     "'"
     "|"
     an equals sign '='
     more letters in this name
     whitespace

我现在不知道该怎么办。如何将a c b属性更改为新值?

1 个答案:

答案 0 :(得分:6)

在Elm中更新嵌套记录比在其他语言中更冗长,并且不允许{ a.b | ... }更新的语法。这是另一种选择:

let
    b = a.b
    newB = { b | c = Utils.newC b.c }
in
    { a | b = newB }

有关updating nested record values in Elm的标准方式的详细信息,请参阅此相关问题。