&&について
&&
は論理積(AND)を求める演算子です。
&&
は左から順に式を評価し、『真』なら右辺を評価、『偽』なら評価した値を返します。
全ての評価式が『真』の場合は最後に評価した値を返します。
なお、Rubyにおいて評価が『偽』となるfalsy
な値はnil
とfalse
です。
### 「nil」の評価は「偽」なので「nil」を返す
> nil && true
=> nil
### 「false」の評価は「偽」なので「false」を返す
> false && true
=> false
### 「5」の評価は「真」、「nil」の評価は「偽」なので「nil」を返す。(「true」は評価されない)
> 5 && nil && true
=> nil
### 全ての評価が真なので、最後に評価した「true」を返す
> 5 && true
=> true
### 全ての評価が真なので、最後に評価した「10」を返す
> 5 && 10
=> 10
### 全ての評価が真なので、最後に評価した「2.even?」を返す
> 5 && 2.even?
=> true
&について
&は積集合を求める演算子です。
積集合を利用することで重複する値が抽出できます。
[1, 1, 2, 3] & [3, 1, 4]
=> [1, 3]