Обновление атома с единственным значением

У меня есть много атомов в моем коде, где общее требование состоит в том, чтобы обновить их к новому значению, независимо от текущего значения.

Я поэтому пишу что-то вроде этого:

(swap! atom-name (fn [_] (identity new-value)))

Это работает, но кажется довольно ужасным и по-видимому подвергается потере производительности для построения анонимного закрытия.

Существует ли лучший путь?

5
задан mikera 17 June 2010 в 23:21
поделиться

2 ответа

Сброс ! Это должна делать функция .

(reset! atom-name new-value)
8
ответ дан 14 December 2019 в 01:01
поделиться

Вы можете использовать (compare-and-set atom old-value new-value).

Но мне кажется странным, что вам нужно так часто менять их на некоррелированные значения. Разве вы не можете использовать привязки или подобные вещи.

1
ответ дан 14 December 2019 в 01:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: