Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List OCaml,使用<>;=操作员_List_Types_Comparison_Operators_Ocaml - Fatal编程技术网

List OCaml,使用<>;=操作员

List OCaml,使用<>;=操作员,list,types,comparison,operators,ocaml,List,Types,Comparison,Operators,Ocaml,问题: 使用,=,比较int列表背后的逻辑是什么?a名单呢 代码: #设x=[1]>[1] val x:bool=false #设x=[1;2]>[1] val x:bool=true #设x=[1;2]>[2;1] val x:bool=false #设x=[true;false]

问题:

使用,=,比较int列表背后的逻辑是什么?a名单呢

代码:

#设x=[1]>[1]
val x:bool=false

#设x=[1;2]>[1]
val x:bool=true

#设x=[1;2]>[2;1]
val x:bool=false

#设x=[true;false]<[true;true]
val x:bool=true

后续问题:

  • 在比较两个列表时,如果列表的长度不同,比较是如何工作的?如果列表不包含相同类型的元素
ocaml列表由

type 'a my_list = Nil | Cons of 'a * 'a my_list
Nil构造函数表示为一个值为0的整数,而Cons是一个指向带有标记0和2个字段的块的指针

<> =运算符考虑nIL.CONS。因此,如果列表的长度不同,则较短的列表较小


比较总是在同一类型之间进行的,因此不同类型的列表无法进行比较(没有Obj.magic)。

这似乎在回答另一个问题时得到了解决:可能重复的