リファレンスからのコピペだけど、これさえ知ってればOKかな。
つまり、
- Rubyで二項演算子は左結合
- 単項演算子定義の時、「@」がselfになる(普通のメソッド定義でも使えそうだな。意味ないけど)
- '[' と ']' のような対が必要な演算子は、引数が間に入る
- '[]=' だけ特殊で、引数の最後が '=' の右に来る
ということか。
# 二項演算子 def +(other) # obj + other def -(other) # obj - other # 単項プラス/マイナス def +@ # +obj def -@ # -obj # 要素代入 def foo=(value) # obj.foo = value # [] と []= def [](key) # obj[key] def []=(key, value) # obj[key] = value def []=(key, key2, value) # obj[key, key2] = value # バッククォート記法 def `(arg) # `arg` または %x(arg)