无论如何,在OCaml编译器中,该代码构建良好,但是(毫不奇怪)即使打开了ML兼容性,它在F#编译器中仍会出现许多错误。一些错误看起来像保留字,但大部分错误是针对类似以下行中的
.{
抱怨的: m.(a).(b) <- w.{a + b * c};
a,b,c是整数。
我在OCaml网站、Stackoverflow、法语O'Reilly书籍的英文版等地方进行了大量搜索,但找不到类似的内容。当然,大多数搜索工具对标点符号有问题也并没有帮助!是的,我找到了关于 .
用于引用记录成员的引用,以及 { }
用于定义记录,但二者合在一起呢?从使用方式上,我猜想它是某种关联或稀疏数组?
这个语法是什么意思?最接近的F#等价语法是什么?
echo let f x y = x.{y} > zz.ml && ocamlc -i zz.ml && rm zz.ml
,它会给出val f : ('a, 'b, 'c) Bigarray.Array1.t -> int -> 'a
。 - ygrek