小编Fra*_*mas的帖子

Scala集合转发器和代理的使用案例

Scala的集合库包含了代理IterableForwarder,TraversableForwarder,SeqForwarder和代理一样IterableProxy,MapProxy,SeqProxy,SetProxy,TraversableProxy,等代理和代理两种委托收集方法到底层集合对象.这两者之间的主要区别在于转发器不会转发会创建相同类型的新集合对象的调用.

在哪种情况下,我更喜欢这些类型中的一种?货运代理为何以及何时有用?如果他们是有用的,为什么会有不MapForwarderSetForwarder

我假设如果想要使用其他方法为集合构建包装器或者对标准集合进行操作,则最常使用代理.

scala scala-2.8 scala-collections

6
推荐指数
1
解决办法
564
查看次数

在Scala中组合find和instanceof的任何干净方法?

我想在一些Iterable中找到一些符合某些给定类型的元素,并验证将该类型作为参数的谓词.

我使用命令式编程编写了这个方法,这似乎符合我的期望.有没有办法用更"scalaesque"的方式写这个?

def findMatch[T](it: Iterable[_], clazz: Class[T], pred: T => Boolean): Option[T] = {
  val itr = it.iterator
  var res: Option[T] = None
  while (res.isEmpty && itr.hasNext) {
    val e = itr.next()
    if (clazz.isInstance(e) && pred(clazz.cast(e))) {
      res = Some(clazz.cast(e))
    }
  }
  res
}
Run Code Online (Sandbox Code Playgroud)

functional-programming scala

4
推荐指数
1
解决办法
2795
查看次数

我在哪里可以找到用Scala编写的纯功能开源项目?

我正在寻找以纯函数风格用Scala编写的开源项目,即不使用vars或可变数据结构(或者根据需要使用它们作为litte).我更喜欢应用程序而不是框架和库,因为我想看看功能对象是如何"粘合在一起"的.

请注意,此问题类似于/sf/ask/149517651/,但此处的重点是项目的purley功能样式.

open-source functional-programming scala

4
推荐指数
2
解决办法
909
查看次数

1
推荐指数
2
解决办法
2442
查看次数