2008年2月 2日

[ruby-list:44554] Re: include

From: Masatoshi SEKI <m_seki@xxxxx>
Subject: [ruby-list:44553] include
Date: Sat, 2 Feb 2008 05:14:24 +0900

るびきちです。

> トップレベル(?)でincludeを使うと、どのオブジェクトも
> モジュールに定義されているメソッドを呼べてしまう

> のでしょうか?

public methodだからですね。

module M
def m() :m end
def n() :n end
private :n
end

include M

public_methods.grep(/^m$/) # => ["m"]
private_methods.grep(/^n$/) # => ["n"]
nil.m # => :m
nil.n rescue $! # => #<NoMethodError: private method `n' called for nil:NilClass>

--
rubikitch
Blog: http://d.hatena.ne.jp/rubikitch/
Site: http://www.rubyist.net/~rubikitch/

投稿者 xml-rpc : 2008年2月 2日 05:26
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/69362
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。