私は次のコードを実行しています:スカラ - イテレータとtakeWhile
val it = List(1,1,1,2,2,3,3).iterator.buffered
val compare = it.head
it.takeWhile(_ == compare).toList
、それは(1,1,1)を返します。しかし、これを実行すると:
val it = List(1,1,1,2,2,3,3).iterator.buffered
it.takeWhile(_ == it.head).toList
私は(1,1)となっています。これはなぜですか? head
はtakeWhile
を呼び出して評価され、結果は同じになるはずですか?