なぜ私のtakeWhileが私のストリームで動作しないのかという質問はそれtakeWhile()
が怠惰であることを明らかにします:
Stream.from(1).takeWhile(_ < 5) //Stream(1, ?)
しかし、その質問に対する解決策は、toList
必要に応じて評価を強制するために使用できるということのようでした。しかし、必要に応じて、リストや特定の値ではなく、継続する場合はどうStream
でしょうか。
Stream
目的の値が見つかるまで評価を強制し、もう一度インスタンス化して使用することでそれができるように思えますindex
が、確かにもっと良い方法がありますか?
更新:どうやら私の言い回しは混乱していました。によって提供されるソリューションが欲しかったdropWhile
。