Ruby のメソッド定義式の戻り値

Ruby ではメソッドの定義(def)も式なので戻り値があります。

# メソッド定義の戻り値はメソッド名の Symbol
name = def plus a, b
    a + b
end
p name
# => :plus

これって何かに利用できるのだろうか。

[おまけ]

式なので当然、以下のようなコードを記述することもできます。

# メソッドを定義しつつ、メソッドを呼び出す
send(def plus a, b
    a + b
end, 1, 2)
# => 3

plus 3, 4
# => 7