dogwood008の開発メモ!

最近のマイブームは機械学習, Ruby on Rails。中でも機械学習を使った金融商品の自動取引に興味があります。

【Ruby】文字列をメソッド名として実行する

要旨

method('some_method').call(arg1, arg2)

詳細

methodに String, Symbol を渡すと、 Method オブジェクトが返る。これに対して Method#call を呼ぶと、そのメソッドを実際に呼ぶ事ができる。

呼びたいメソッドに引数を渡したい場合、 call(arg1, arg2, ...) のように call に引数を渡してやれば良い。

また、特定のClassのインスタンスメソッドを呼びたいときは、 some_instance.method(:method_name).call のように呼べば良い。

クラスメソッドの場合は、 Class.method(:method_name).call のように呼べば良い。

参考

docs.ruby-lang.org

docs.ruby-lang.org