【发布时间】:2012-10-02 13:44:26
【问题描述】:
我正在尝试理解这个 def 方法:
def union(a: Set, b: Set): Set = i => a(i) || b(i)
问题中提到的是:Scala set function
这是我的理解:
该方法接受两个 Set 类型的参数 - a & b 返回一个集合,它是两个集合 a 和 b 的并集。
这里是我特别困惑的地方: Set = i => a(i) || b(i)
返回的 Set 本身包含 Set a & b 的“或”。 Set 'i' 是否由隐式 for 循环填充?
既然 'i' 是一个集合,为什么它有可能或一个'集合集合',这是否类似于在后台生成的内容:
a(i) || b(i)
becomes
SetA(Set) || SetB(Set)
【问题讨论】:
-
i 是 Int 类型,集合可以看作一个谓词。这有帮助吗?