###||=を使った自己代入
x ||= Aのコードを見たら、「変数Xがnilまたはfalseなら、AをXに代入」と解釈する
number = nil
number ||= 10
number #=> 10
number = 20
number ||= 10
number #=> 20
n += 1 がn=n+1と展開できるのと同じ要領で
number ||= 10
number = number || 10
#同じ意味になる。
###!!を使った真偽値の型変換
!は否定の演算子
例
!Aと書いた場合
Aが真 -> false
false または nil -> true
!true #=> false
!!true #=> true
!!7 #=> true
!!false #=> false
!!nil #=> false
使用例
def title_exists?
#データベースなどからタイトルを探す(なければnil)
title = find_title
if title
true
else
false
end
end
def title_exists?
!!find_title
end
参考文献
プロを目指す人のためのRuby入門