Ruby Tips!

RubyのTipsを紹介します

Rubyにおけるメソッドの呼び出し

Rubyでメソッドを呼び出すには以下の文法に従う。
メソッドを呼び出す対象のオブジェクトのことをレシーバと呼ぶ。

オブジェクト.メソッド(引数)

引数を取らないメソッドの場合、または全ての引数にデフォルト値が設定されている場合、括弧と引数を省略できる。
例えば整数をto_sメソッドで文字列化する場合は以下で良い。

1.to_s

どのようなメソッド呼び出しであっても、括弧は省略することができる。
以下はどちらも同じ意味である。

STDOUT.puts("Hello, World!")
STDOUT.puts "Hello, World!"

引数に*をつけると、配列展開されて、複数の引数を渡したのと同じように処理される。
またRuby 1.9では複数の配列展開をメソッド呼び出しで含めることが可能だ。
以下はすべて同じ意味である。

ary1 = [1, 2]
ary2 = [3, 4]
obj.some(1, 2, 3, 4, 5)
obj.some(*ary1, 3, 4, 5)
obj.some(*ary1, *ary2, 5)

レシーバも省略することができる。省略した場合はselfが補われる。
なおprivateメソッドは、レシーバを省略した形でしか呼び出せない。

puts "Hello, World!"