Во-первых, я признаю, что этот вопрос может быть дублирующим; просто дайте мне знать.
Мне любопытно, какая общая "лучшая практика" для тех ситуаций, когда желательна изменчивость. Кажется, что F # предлагает две возможности для этого: привязка let mutable
, которая, похоже, работает как переменные на большинстве языков, и эталонная ячейка (созданная с помощью функции ref
), которая требует явного разыменования.
Есть несколько случаев, когда один из них "принудительно" в один или другой:.NET interop имеет тенденцию использовать mutable с <-
, а в вычислениях рабочего процесса следует использовать ref
с :=
. Таким образом, эти случаи довольно ясны, но мне любопытно, что делать, создавая свои собственные изменяемые переменные за пределами этих сценариев. Какое преимущество имеет один стиль над другим? (Возможно, помощь в этом поможет.)
Спасибо! (И извините за "чрезмерное использование" кавычек.)