List 使用;反对意见;没有“:”:&引用;操作员ocaml

List 使用;反对意见;没有“:”:&引用;操作员ocaml,list,ocaml,cons,List,Ocaml,Cons,有没有一种不用:操作符在OCaml中构造列表的方法 例如,我知道元素通常会按如下方式连接: 1::[2; 3; 4] 它产生[1;2;3;4] 我想知道的是,是否有可能实现一个需要 cons(1 cons(2 cons(3 cons (4 nil)))) 并输出相同的结果,如中所示 谢谢。我想您正在寻找列表。cons。这让你可以 # List.(cons 1 (cons 2 (cons 3 (cons 4 []))));; - : int list = [1; 2; 3; 4] 非常感谢。

有没有一种不用
操作符在OCaml中构造列表的方法

例如,我知道元素通常会按如下方式连接:

1::[2; 3; 4]
它产生
[1;2;3;4]

我想知道的是,是否有可能实现一个需要

cons(1 cons(2 cons(3 cons (4 nil))))
并输出相同的结果,如中所示


谢谢。

我想您正在寻找
列表。cons
。这让你可以

# List.(cons 1 (cons 2 (cons 3 (cons 4 []))));;
- : int list = [1; 2; 3; 4]

非常感谢。我知道List.cons运算符,但不知道它可以以这种方式使用。:)列表。(…)只是暂时打开列表名称空间。这是书写
List.cons 1(List.cons 2(List.cons 3(List.cons 4[]))的一种简短形式
,比书写
openlist
更集中。它还非常适合使用模块中缀运算符,例如
Vec2D.(a+b*s)
,而不会在任何地方中断
+