2017-02-14 41 views
3

я этоне удается получить записи свойства записи

{ 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 изменено на новое значение?

ответ

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.

 Смежные вопросы

  • Нет связанных вопросов^_^