知って得した便利文法 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コーディング規約
ばりばり使ってたら怒られました・・・。