Ati*_*kae 8 ocaml expression boolean list
我有一个返回的函数,[[]]我想测试结果作为单元测试.但我发现表达式[[]] == [[]]返回false.这是一个简单的测试代码:
# [[]] == [[]];;
- : bool = false
Run Code Online (Sandbox Code Playgroud)
有人可以解释为什么这个表达式被评估为假?
谢谢.
pad*_*pad 13
使用,=因为您具有结构相等性来比较两个值:
# [[]] = [[]];;
- : bool = true
Run Code Online (Sandbox Code Playgroud)
因为==是引用相等,所以如果引用相同的内存位置,它只返回true:
let a = [[]]
let b = a
# b == a;;
- : bool = true
Run Code Online (Sandbox Code Playgroud)
==OCaml中的操作员意味着"物理平等".但是,您有两个(物理上)不同的列表.也许,你想要"结构平等",经过测试=.
| 归档时间: |
|
| 查看次数: |
2635 次 |
| 最近记录: |