> scala> val myI = new Iterable[Int]{def iterator = Iterator.continually(1)}
> java.lang.OutOfMemoryError: Java heap space
> at java.util.Arrays.copyOf(Arrays.java:2882) at
> <snip>
现在,这是预期的行为吗?我发现它有些奇怪,它会妨碍我。
答案 0 :(得分:10)
这只是REPL尝试太难以提供帮助 - 它正在尝试打印出新的Iterable
,作为返回值时它的作用的一部分。您可以将其粘贴在某些不打印其内容的容器中,也可以覆盖toString
。
scala> val myI = new Iterable[Int] { def iterator = Iterator.continually(1);
| override def toString = "myI" }
myI: Iterable[Int] = myI