概要
記号メソッド
詳細
Rubyは + や * などの記号の名前をつけたメソッドを定義可能。
記号をメソッドにした場合、メソッド呼び出しのドットを省略できる。
サンプルコード
# encoding: utf-8 class Hoge [:*, :+, :|, :-, :/].each do |m| define_method m do |*args| print m.to_s + "\n" end end end Hoge.new + "a" # ドットがあっても問題ない Hoge.new.+ "a" Hoge.new * "a" Hoge.new | "a" Hoge.new - "a" Hoge.new / "a"
出力
+ + * | - /