Rubyでメソッド自体を値として扱いたい
条件ごとに違うメソッドを変数に代入して、実行したりしたいとき
うまくタイトルをつけられているか不安だが、要は「メソッドとかを変数に入れておいて後で実行したい」という時Rubyではどうやって書くかという話。(Rubyはカッコがなくてもメソッド呼び出しになってしまうのでどうしたら……?と思って調べた)
# 代入する時
method = SomeClass.method(:some_method)
# 使う時(引数がなければもちろんカッコは省略できる)
method.call(arg)
これがあれば
method =
case hoge
when 1
SomeClass.method(:hoge)
when 2
SomeClass.method(:fuga)
method.call(piyo)
みたいな処理がかける。