3

述語に一致するリスト内の要素を見つけ、述語に一致する要素がない場合はデフォルト値を取得したいと思います。追加の変数を定義せずに(ワンライナー)、これを慣用的に行いたいと思います。に似たものはありgetOrElseますHashMapか?

4

1 に答える 1

16

Optionこれは、なぜ素晴らしい のかを示すもう1つの例です。

このfindメソッドはを返し、Option必要なことを正確に実行 Optionするメソッドがあります。getOrElse

scala> List(1,2,3).find(_ > 4).getOrElse(0)
res0: Int = 0

何も見つからない場合は、をfind返しますNone。これは、「else」値が返されることを意味します。

于 2012-10-18T06:25:03.300 に答える