logo       
Google Custom Search
    AddThis Social Bookmark Button

[ruby-dev:28198] define_method with global function: msg#00000

Subject: [ruby-dev:28198] define_method with global function
次のように Kernel 内で module_function とし、ある名前のメソッ
ドをまず def で定義し、その後で define_method で定義した場合
に、Kernel の中でそのメソッド名を呼ぶと前者が呼び出されるこ
とに気がつきました。Kernel の外では後者が呼び出されます。

% cat t.rb
module Kernel
  module_function

  def m
    p :original
  end

  define_method(:m) {
    p :redefined
  }

  m
end
m
% ruby -v t.rb
ruby 1.9.0 (2005-12-12) [i686-linux]
:original
:redefined

この、前者が呼び出されるという挙動は意図されているんでしょうか?
-- 
[田中 哲][たなか あきら][Tanaka Akira]





Try Searching:
servers, voip, java, networking, microsoft ...
<Prev in Thread] Current Thread [Next in Thread>