Я знаю, что в OCaml мы не можем изменить значение переменной по умолчанию.Например, мы не можем сделать следующее:
let a = 1;
a = 2;
Чтобы сделать это, мы добавляем ключевое слово ref
:
let a = ref 1; a := 2;
Но я не понимаю, чтонам не нужно делать это для Array.Мы можем изменить значение массива, даже если его тип не равен: ref 'a
.Например, я могу сделать:
let a = Array.create 3 0; a.(1) <- 2;
Без каких-либо ошибок.
Так есть ли причина, по которой мы можем изменить значение массива без использования ссылки?
Кроме того, в чем разница между ref and
mutable`?
Спасибо!