[ruby-list:41635] Re: [ANN] langhelp-0.9.0

From: rubikitch <rubikitch@...>
Date: 2005-12-02 05:03:20 UTC
List: ruby-list #41635
From: nobuyoshi nakada <nobuyoshi.nakada@ge.com>
Subject: [ruby-list:41634] Re: [ANN] langhelp-0.9.0
Date: Fri, 2 Dec 2005 13:43:45 +0900

るびきちです。

> 1.9ではfuncallというメソッドに分離されました。単なるメッセージ
> 送信で可視性まで無視してしまうと、method_missingなどとの相性が
> 非常に悪いためです。

とりあえず、funcallで逃げることができるので安心しました。

<<'%%%' > tmp.rb
class Foo
  def foo
    puts 1
  end
  private :foo

  def method_missing(meth, *args, &block)
    puts "missing #{meth}"
  end
end

Foo.new.__send__(:foo)
%%%
ruby18 tmp.rb  # => 1
ruby19 tmp.rb  # => missing foo

なるほど、納得いきました。

るびきち☆
http://www.rubyist.net/~rubikitch/

In This Thread