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