我運行下面的代碼:斯卡拉 - 迭代器和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
後進行評估,結果應該是相同的?