Можно ли одновременно объявить изменяемые и неизменные значения/привязки?

StackOverflow https://stackoverflow.com/questions/7303897

  •  25-10-2019
  •  | 
  •  

Вопрос

Например, я хочу объявить

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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top