戦略 Scala 日記

素人プログラマの思考のセンス

headOptionを見つけたら

リストから、条件にマッチする先頭の要素をOptionで取り出すときに
list.filter(somefunc(_)).headOptionとしたり、
条件にあった値の存在を確認するときにlist.filter(somefunc(_)).headOption.nonEmpty
なんて書いてあるコードを見つけたら、ほかのCollection APIが使えないかを疑うべき。

先頭の値を探して返す場合は、

list.find(somefunc(_))

とすればよい。また、値の有無を判別するならば、

list.exists(somefunc(_))

のようにexistsを使えば済むはなしである。