【发布时间】:2013-11-23 20:01:10
【问题描述】:
请原谅我的英语:(
让我们通过例子来解释我的问题。我们有一个数组a:
var a = Array(1,1,1,1,2)
我们可以:
-
过滤
a:a.filter( _ < 2 ) -
计算a中的一些元素:
a.count (_ < 2) -
获取集合中的唯一元素:
a.filter { i => a.count(_ == i) == 1 }
问题是:如何在不引入变量i的情况下做第三个子句?是否可以写出类似的东西:
a.filter ( a.count ( _ == __) == 1 )
我知道我可以写这个(而且还很短):
a.filter { i => a.count(_ == i) == 1 }
但我只是对答案感兴趣。
【问题讨论】:
标签: scala lambda functional-programming