[#30220] schedule for Ruby 1.8.6 — "Akinori MUSHA" <knu@...>

 ruby-core を読んでいない人もいると思うので、ここでもアナウンス

20 messages 2007/01/30

[ruby-dev:30112] Re: send/__send__ and private method

From: Urabe Shyouhei <shyouhei@...>
Date: 2007-01-08 11:01:12 UTC
List: ruby-dev #30112
卜部です。

Yukihiro Matsumoto wrote:
> なにか誤解があるのかな?

多分。

>  funcallはsend同様に動的にメソッド名
> を決定したい時に使うメソッドです。メソッド名が固定のときは
> 「普通にこれまで通りの方法で呼べばよい」です。
>
>   methods = {:exposure => :repaint,
>              :mousemove => :move,
>              :mouseover => :push}
>   funcall methods[events], *args
>
> のような感じだと思っていただければ。
>   

それはinstance_eval "#{methods[events]}, *args"とはどうちがうのでしょうか。
self以外と混ぜて使うときにinstance_evalの使用が推奨されているなら、self
の時もinstance_evalでいいじゃんと思うのですが。なにかselfにだけ特別な方
法を提供する理由があるのでしょうか?

In This Thread