只是阅读Scala,以及作用于集合的exists方法如何减少代码重复等.
你怎么能写一个类似于存在的函数自己作用于集合?可能吗?
类似于作为特定类型的ac#扩展方法.
当然,你可以使用隐式转换来做到这一点.
scala> implicit def foo[A](xs: Seq[A]) = new {
| def any(f: A => Boolean): Boolean = {
| for(x <- xs; if f(x)) return true
| false
| }
| }
foo: [A](xs: Seq[A])java.lang.Object{def any(f: A => Boolean): Boolean}
scala> Seq(9, 11, 34).any(_ > 10)
res3: Boolean = true
scala> Seq(9, 11, 34).any(_ > 35)
res4: Boolean = false
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
123 次 |
| 最近记录: |