by shigemk2

当面は技術的なことしか書かない

可変関数をやってみよう

これは本当にすごい。
rubyで可変関数的に、オブジェクトのメソッドを文字列で指定して呼び出す。 - それマグで!

PHPの可変関数と同じことをRubyで出来ないかなって思った。

class Hoge
  def hoge1
    return 'nyan1'
  end

  def hoge2
    return 'nyan2'
  end

  def hoge3
    return 'nyan3'
  end
end

def method_name(a)
  return "hoge#{a}"
end

hoge = Hoge.new
puts hoge.method(method_name(1)).call # => nyan1
puts hoge.method(method_name(2)).call # => nyan2
puts hoge.method(method_name(3)).call # => nyan3