知って得した便利文法 on Ruby

自己代入

a ||= 1         # a が偽か未定義ならば1を代入。


↓こんな感じで

#インスタンス変数modelを取得する、modelがnilの場合はインスタンス化したものを返す
def model
  @model ||= Model.new
end


多重代入

a, b, c = 1, 2, 3 #a=1, b=2, c=3

あまり横に長くなるようなら素直に縦に書いたほうがいいかもしれませんね。


setter

def method_name=(arg)
  @arg = arg
end

こんな感じで使える!
object.method_name = 'test'
C#のプロパティみたいな感じですね。


"!"を極力使わない

if式のthenは省略する。また、if !xのような場合は、 unless xに置き換える。ただし、unlessの場合、 elseは使用しない。また、条件が十分に簡単で、一行で書ける場合は、if/while修飾子を使用してもよい。

Rubyコーディング規約

ばりばり使ってたら怒られました・・・。