動的にメソッドを呼び出す。

携帯電話とかでメールを自動受信しているところを見ると、鶴の恩返しで鶴が機を織っているのを見てしまった場面を思い出すのは何故か。
そんなことはどうでも良いので、動的にメソッドを呼び出す。

#!/usr/bin/env ruby

class Hoge
  public
  def huga
    puts 'huga'
  end

  def huge(val)
    puts val
  end
end

hoge = Hoge.new

huga = hoge.method(:huga)
huga.call

huge = hoge.method('huge')
huge.call('huge')

結果。

huga
huge


プログラミングRuby 第2版 言語編

プログラミングRuby 第2版 言語編