Ruby でスペースや記号が含まれている名前でメソッドを定義する
Ruby でメソッドを定義する場合、名前には識別子(英数字+`)と再定義可能な演算子のみ使用する事ができます。
しかし、
define_method` メソッドを使用するとスペースや記号を含んだ名前のメソッドを定義する事ができます。
class X # #define_method を使用してメソッドを定義する define_method "homu mami" do "homu mami method" end end x = X.new # #send を使用してメソッドを呼び出す p x.send "homu mami" # => "homu mami method""
#define_method
を使えばどんな名前の文字列でも定義する事ができます。
ただし、呼び出す場合は #send
を使用して呼び出す必要があります。