Tbpgr Blog

元エンジニア 人事 tbpgr(てぃーびー) のブログ

Ruby | 記号メソッド

概要

記号メソッド

詳細

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"
出力
+
+
*
|
-
/