概要
プログラミング言語Rubyを読んでの備忘録
本の中の章ごとに分けることとする
識別子の記号
- ?
booleanを返すメソッド名の末尾には疑問符をつける
example
def empty?(str)
# booleanを返す処理
end
- !
オブジェクト自身を破壊的に変更する場合につける
example
def sort!(arr)
# 破壊的処理
end
改行
rubyでは四季が不完全な場合に解析が次の行に続く
example
total = x + # 式が不完全なため解析が次の行に続く
y
total = x # 式が完全なため解析がここで終了する
+ y
行の中で最初に現れた空白以外の文字がピリオドである場合、
その行は前の行からの後続だと見なされる
example
animals = Array.new
.push('dog')
.push('cat')
メソッド呼び出し
rubyではメソッド呼び出しの()を省略することができる
# 以下二つは同義
f(3)
f 3
ただし、このやり方では動作が変わることがある
f(3+2)+1 # f(3+2)の実行結果に1を足す
f (3+2)+1 # fの引数に3+2+1を渡す
上記のようなことを防ぐために以下の二点をルール化する
- メソッド名と()の間にはスペースを入れない
- メソッド名の第一引数が()で始まる場合には、必ずメソッドの呼び出しには()を使う
ただ、引数がない場合のみ()を省略するというルールの方がわかりやすいような気がする