2014年5月16日金曜日

Rubyのネームスペースヘ(^o^)ノ

Rubyはオープンクラスのメソッドをオーバライドできます。

いわゆるモンキーパッチ〜

class String
def to_s
"murajun1978"
end
end
"Ruby".to_s # => "murajun1978"

便利だけど、すべての振る舞いを変更してしまうので危険(;^ω^)

では、自分で定義したクラスをネームスペースで囲ってみましょう

module Murajun
class String
def to_s
"murajun1978"
end
end
end
"Ruby".to_s # => "Ruby"
Murajun::String.new.to_s # => "murajun1978"
オーバライドされなくなりましたー

ネームスペースで囲ったときは、10行目のように使用することができますー

( ̄(エ) ̄)彡☆

0 件のコメント:

コメントを投稿