如何在 Scala 中定义自定义集合接口而不定义实现?
我正在尝试在 Scala 2.8 中定义自定义集合接口。我想要求子类是可遍历的,以及一些其他行为。我还希望像 map() 这样的方法返回适当的类型,如下所示:…
在 Scala 中使用并行集合的首选方式是什么?
起初,我假设每个集合类都会收到一个额外的 par 方法,该方法会将集合转换为合适的并行数据结构(例如 map 返回元素类型的最佳集合)在 Scala 2.8 中…
为什么 Scala 列表没有排序?
Scala 中的列表没有隐式排序是否有原因? val lists = List(List(2, 3, 1), List(2, 1, 3)) lists.sorted error: could not find implicit value for …
扩展 Scala 集合:一个基于数组索引的练习
作为练习,我想将 Scala Array 集合扩展到我自己的 OneBasedArray(执行您所期望的操作,索引从 1 开始)。由于这是一个不可变的集合,我希望它在调用…
尝试将 java 隐式转换为 scala 集合时出现 NoSuchMethodError
我开始在代码中收到这种错误: Message: java.lang.NoSuchMethodError:scala.collection.JavaConversions $.asScalaSet(Ljava/util/Set)Lscala/collec…
有效地返回 scala 排序集合中不存在键的下一个较大值?
在 scala 中,给定一个排序的映射、树或列表,返回不存在键的下一个较大值的最有效方法是什么?此外,是否有可能获得从此元素开始的“迭代器/游标”?…
向 FoldRight 传递额外参数
有没有办法将一些额外的参数传递给 Scala 的 List.foldRight 提供的函数? 一些示例代码: def createActorPool[T](implicit actor: Manifest[T], poo…
Scala:迭代集合和填充数组的最佳方法
scala noob在这里,我有一个xml节点的集合(Seq),我想根据每个节点填充一个数组: val nodes = data.child \\"package" var packages = new Array[P…
我如何反思性地创建一个新的集合?
我有一个集合实例,我想将其存储在外部,然后恢复到原始集合类型。例如, class Foo { var x : List[Int] } val f = new Foo f.x = List(1, 2, 3) 我…
扩展集合时的 Scala 返回类型
如果我写 事物类扩展了 scala.collection.immutable.HashSet[Int] 新事物 + 5 那么结果是 res0: scala.collection.immutable.HashSet[Int] = Set(5) …
实现一个scala集合,以便map、filter等产生正确的类型
我正在尝试实现 默认值地图,并且我希望在 DefaultingMap 上使用过滤器、地图等,以便尽可能生成 DefaultingMap。这是我的初始实现: class Defaultin…
重新分配给 Scala 中的 val
我正在 Scala 中进行训练练习并收到此 val 重新分配错误。我不知道在哪里为 val 重新分配新值 class personTest { val alf = Person("Alf", 30, List(…
如何编写一个 zipWith 方法,该方法返回与传递给它的集合类型相同的集合?
我已经到达这里了: implicit def collectionExtras[A](xs: Iterable[A]) = new { def zipWith[B, C, That](ys: Iterable[B])(f: (A, B) => C)(impl…
2.8 集合的新增内容。这个签名会是什么样子?类似于 scalaz 序列
我今天发现了一篇 博客文章,其中提到了 scalaz 的 序列函数。 难道你不能做一些简单的事情: if (l contains None) None else l 如果是这样,这个函…