Можно ли объявлять изменяемые и неизменяемые значения / привязки одновременно?
Например я хочу объявить
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)
1 ответ
Решение
Нет. mutable
относится ко всему let
связывание. Вам придется сделать:
let len, i = ...
let mutable i = i