LoginSignup
3
1

More than 5 years have passed since last update.

optionに対してのメソッド(forallとexists)の動き

Posted at

scala初心者の自分が、自分で書いていてわからなくなりそうなのでメモ。
表題の通り対象のメソッドは以下

  • forall
  • exists

環境は
java version 1.8.0_45
scala 2.11.7

forall

  println(Some(1).forall(r => r.equals(1))) // true
  println(Some(2).forall(r => r.equals(1))) // false
  println(None.forall(r => r.equals(1))) // true

まぁそういうものかと言われれば、そうだが、Noneの時は式を評価せずにtrueを返すのか。
一瞬違和感あったが、自分で実装するとしたらそうなるよなぁって感じ。でもforallって名前かぁ。(うるさい

exists

  println(Some(1).exists(r => r.equals(1))) // true
  println(Some(2).exists(r => r.equals(1))) // false
  println(None.exists(r => r.equals(1))) // false

exsitsっていう単語から考えればその通りだなという感じ。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1