Size: a a a

Elm Lang сообщество разработчиков

2020 June 07

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
нет, не вызывается
источник

YP

Yauhen Pyl in Elm Lang сообщество разработчиков
хм
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
heavyFunc1 вызывается один раз
источник

YP

Yauhen Pyl in Elm Lang сообщество разработчиков
а разве при вычислении data2 не вызовется еще раз?
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Нет. data1 уже будет содержать результат вычисления
источник

YP

Yauhen Pyl in Elm Lang сообщество разработчиков
лол, я всегда думал что всегда когда обращаешься к data1 будет вызываться функция
источник

YP

Yauhen Pyl in Elm Lang сообщество разработчиков
век живи, век учись, спасибо
источник

YP

Yauhen Pyl in Elm Lang сообщество разработчиков
и правда, т.е. elm создает внутреннюю переменную для хранения? я думал данные могут храниться только в модели и все
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
let как раз и позволяет сэкономить ресурсы при превращении
x ^ 100 + x ^ 100
в
let xx = x ^ 100 in xx + xx
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Это не переменная, это локальное определение
источник

YP

Yauhen Pyl in Elm Lang сообщество разработчиков
спасибо большое, я думал что это одно и тоже, а let просто добавили чтобы не копи пастить код)
источник

YP

Yauhen Pyl in Elm Lang сообщество разработчиков
ну, внутри оно ведь вычисляет и помещает промежуточный результат в локальный скоуп, верно?
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
да, именует результат и хранит в локальной области видимости
источник

YP

Yauhen Pyl in Elm Lang сообщество разработчиков
спасибо большое за помощь
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Обращайтесь :)
источник

YP

Yauhen Pyl in Elm Lang сообщество разработчиков
странно это, я конечно мануал особо элм не читал, но вроде как мне казалось что данные могут храниться только в модели, все остальное должно вычисляться на основе текущего состояния модели и потом в нее же сохраняться
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
let это замена
\x -> f x + f x
на
\x -> (\xx -> xx + xx) (f x)
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
отсюда и новая область видимости
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Это не "хранение"
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Модель хранит ваши данные между вызовами update
источник