我只是用gremlin弄湿了脚.据我所知,gremlin基于groovy.我在这里找到了文档,但我仍然不确定语法是什么意思.
关于比较器的排序语法如何工作,我有点困惑:
m.sort{a,b -> a.value <=> b.value}
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下所有不同的位{和}意思吗?
Joã*_*lva 45
当Closure使用者sort有两个参数时,它就像传统的一样Comparator.即,对于被排序期间完成,两个元件之间的每个比较a和b,它作为第一个参数大于第二小于,等于或大于返回一个负整数,零或正整数.
在您的特定情况下,比较是使用太空船运营商 的结果<=>.换句话说,您正在按升序对元素进行有效排序.
例如,如果您有列表[ 3, 2, 1 ],那么使用该排序的结果将是 [ 1, 2, 3 ].
因此,m.sort{a,b -> a.value <=> b.value}是大致使用以下的等效compare功能:
int compare(a, b) {
if (a < b) {
return -1;
} else if (a > b) {
return 1;
} else {
return 0;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
32667 次 |
| 最近记录: |