Можно ли одновременно объявить изменяемые и неизменные значения/привязки?
Вопрос
Например, я хочу объявить
let len, (*mutable*) i =
if s.Length >= 2 && s.[0] = '0' && (s.[1] = 'x' || s.[1] = 'X') then
(s.Length - 2, 2)
else (s.Length, 0)
Постоянное связывание LEN и MUTABLE I, возможно ли это?
Добавлен : Тогда я буду использовать ссылки
let len, i =
if s.Length >= 2 && s.[0] = '0' && (s.[1] = 'x' || s.[1] = 'X') then
(s.Length - 2, ref 2)
else (s.Length, ref 0)
Решение
Нет. mutable
относится ко всему let
связывание. Вам придется сделать:
let len, i = ...
let mutable i = i
Не связан с StackOverflow