【发布时间】:2010-04-21 11:36:35
【问题描述】:
以下使用 scala Beta1 和 scalaz 快照 5.0 编译得很好:
val p1: Int => Boolean = (i : Int) => i > 4
val s: List[Int] = List(1, 2, 3)
val b1 = s ∃ p1
但事实并非如此:
val s: Set[Int] = Set(1, 2, 3)
val b1 = s ∃ p1
我收到以下错误:
找到:Int => 布尔值
必需:布尔值 => 布尔值
∃ 方法的签名是:
def ∃(p: A => Boolean)(implicit r: FoldRight[M]): Boolean = any(p)
范围内应该有一个隐含的SetFoldRight。方法完全相同:∀、∋ 和 ∈: - 这是怎么回事?
【问题讨论】: