Невозможно особо подчеркнуть, что все данные в Erlang неизменны.Поэтому, чтобы сделать что-то похожее на исходный вопрос, вам нужно изменить его, как это сделал @hdima.Запись не обновляется, а переписывается.Точно так же в Erlang нет глобальных данных, все данные принадлежат процессу.Это справедливо даже для таблиц ETS, поскольку они в основном ведут себя как процесс, хотя и встроенный без явной связи.
Так что если вы используете словарь процессов или таблицу ETS, то data Сам никогда не может быть обновлен, только словарь / таблица.Это означает, что для изменения некоторых данных в словаре / таблице вам необходимо:
- «Считать» данные
- Обновить данные, создав новые данные
- "Запишите «новое обратно в словарь / таблицу»
Без записи новых данных обратно в словарь / таблицу они будут потеряны, так как ваши новые данные были.