2014年6月1日日曜日

Rubyの特異メソッドヘ(^o^)ノ

例えば。。。

murajunクラスでmurajun?メソッドを定義しているよねー

そのオブジェクトをnameクラス(名前アカンやつ)のhello_murajunメソッドに引数で渡してる。

murajun?メソッドだけなら、Stringクラスにモンキーパッチできるよねー

でも、このときだけmurajunかどうか判定したい場合は???

そんな時の特異メソッドですよ

murajun_name = "murajun"

def murajun_name.murajun?
  self == "murajun"
end

name = Name.new
p name.hello_murajun(murajun_name) # => Hello, murajun.


特定の条件下だけ、ある機能を実装したい場合に便利ですね。

( ̄(エ) ̄)彡☆

0 件のコメント:

コメントを投稿