Я создал изменяемую структуру данных в OCaml, однако, когда я обращаюсь к ней, появляется странная ошибка,
Вот мой код
type vector = {a:float;b:float};;
type vec_store = {mutable seq:vector array;mutable size:int};;
let max_seq_length = ref 200;;
exception Out_of_bounds;;
exception Vec_store_full;;
let vec_mag {a=c;b=d} = sqrt( c**2.0 +. d**2.0);;
let make_vec_store() =
let vecarr = ref ((Array.create (!max_seq_length)) {a=0.0;b=0.0}) in
{seq= !vecarr;size=0};;
Когда я делаю это на верхнем уровне ocaml
let x = make _ vec _store;;
, а затем попробуйте сделать x.size
Я получаю эту ошибку
Error: This expression has type unit -> vec_store
but an expression was expected of type vec_store
В чем проблема? Я не понимаю, почему это не сработает.
Спасибо,
Фейсал