coll: C[A]
コレクションと functionが与えられた場合、 Scala でコレクション全体を評価せずに定義されf: A => Option[B]
た最初の項目を取得する慣用的な方法は何ですか?coll
f
これが私の意図した署名です:
def findFirstDefined[A, B](coll: Traversable[A])(f: A => Option[B]): Option[B]
coll.flatMap(f).headOption
コレクション全体を評価するような素朴なアプローチです。できるかもしれませんが、標準ライブラリ、関数型プログラミングの文献、coll.view.flatMap(f).headOption
またはcoll.collectFirst(Function.unlift(f))
scalaz/cats のいずれかに、これを可能にするものが他にありますか?