Ruby

Ruby | クラスをメソッドにする方法 (メタプログラミングRuby)

大文字をメソッドとして定義する。

def A(arg)
  p arg
end

普通にクラスを呼ぶと、クラスとして解釈される。

A # NameError: uninitialized constant A

引数を渡すとメソッドと解釈される。

A 'mimic!' # "mimic!"

環境

  • ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin17]