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