【发布时间】:2012-09-16 02:17:10
【问题描述】:
我对闭包不是很熟悉,而且我有一个,也许,nooby 的问题。 在 Groovy 文档中有一个类集合的 unique() 方法的示例。
其中一个使用了宇宙飞船操作符。 我知道在:
a <=> b
如果 a b 则返回 1,就像 compareTo 一样。
在带有闭包的 Groovy Unique 示例中:
assert [2,3,4] == [2,3,3,4].unique { a, b -> a <=> b }
1.- a、b 参数在集合中是什么意思? “a”是[n]位置,“b”是[n+1]?
2.- 飞船运算符将返回 -1、0 或 1 这与独特的方法有什么关系?仅使用 unique() 有什么区别吗?我尝试了这两种方法,但它一直给我返回相同的结果
提前致谢
【问题讨论】:
-
标题中提到的“宇宙飞船”运算符在其他语言中称为比较运算符
-
是的,就像我在问题中所说的那样,我知道宇宙飞船操作员就像(相同)
compareTo()。我只是不知道参数在包含两个以上元素的集合中是如何工作的
标签: groovy parameters arguments closures unique