Saturday, July 12, 2008

Ruby Object#sendの使い方

methodを変数から呼び出したい場合がある
そのようなときはsendが使える
sendにはmethod名を文字列かシンボルで渡す
methodの引数は第2引数とする


class Salute
attribute_accessor :name
def hello
puts 'hello'
end
def goodbye
puts 'goodbye'
end
end

s = Salute.new(name)
name = case name
when 'kyo': :hello
when 'keyes': :goodbye
end
s.send(name)

No comments: