私は、あるためにはTraversable
、あなたは方法を持っているだけでよいことを知っていますforeach
。メソッドIterable
が必要です。iterator
Scala2.8コレクションのSIDと「FightingBitrotwithTypes」の論文はどちらも基本的Traversable
に追加された理由については言及していません。SIDは、「DavidMcIver...がIterableの一般化としてTraversableを提案した」とだけ述べています。
IRCに関する議論から、コレクションのトラバースが終了したときにリソースを再利用することと関係があるということを漠然と収集しましたか?
以下はおそらく私の質問に関連しています。には、奇妙に見える関数定義がいくつかありますTraversableLike.scala
。次に例を示します。
def isEmpty: Boolean = {
var result = true
breakable {
for (x <- this) {
result = false
break
}
}
result
}
私は、次のように書かれただけではない正当な理由があると思います。
def isEmpty: Boolean = {
for (x <- this)
return false
true
}