小编And*_*res的帖子

Traversable => Java Iterator

我有一个Traversable,我想把它变成一个Java Iterator.我的问题是我希望一切都懒得完成.如果我在遍历上执行.toIterator,它会急切地产生结果,将其复制到List中,并在List上返回一个迭代器.

我确定我在这里错过了一些简单的东西......

这是一个小测试用例,显示了我的意思:

class Test extends Traversable[String] {
      def foreach[U](f : (String) => U) {
         f("1")
         f("2")
         f("3")
         throw new RuntimeException("Not lazy!")
     }
}

val a = new Test
val iter = a.toIterator
Run Code Online (Sandbox Code Playgroud)

scala scala-java-interop scala-collections

8
推荐指数
2
解决办法
973
查看次数

一起添加数字

我有一个List [Number].它包含Number - Int,Double等不同子类的值.我想把所有的价值加在一起.如果列表只包含Int,我希望结果是Int.如果有混音,我想遵循正常的Scala规则:Int + Double = Double(依此类推).

我试过这个:

val result = list.reduceLeft(_ + _)
Run Code Online (Sandbox Code Playgroud)

这甚至不可编译.Number没有定义带有另一个Number的+方法.

我怎么能做到这一点?

安德烈斯

scala

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

不区分大小写的Scala解析器 - 组合子

我正在尝试创建一种语言,并且我希望它的一些部分不区分大小写.我确信这很容易,但我找不到它.

编辑:重新阅读让我为这个问题感到羞耻.是一个失败的测试,解释了我的意思.

parsing scala parser-combinators

5
推荐指数
1
解决办法
1247
查看次数

将对象转换为可比类型

在斯卡拉.我有两个Any类型的对象.如果可能的话,我想将对象强制转换为正确的Ordered特征,然后将它们与<method进行比较.否则,我想抛出异常.应该很简单,但我很难过......

scala

3
推荐指数
1
解决办法
1085
查看次数