むとうです。

On Mon, 13 Oct 2003 22:26:22 +0900
Koji Arai <JCA02266 / nifty.ne.jp> wrote:

> 新井です。
> 
> In message "[ruby-list:38535] Re: Object#instance_eval and private"
>   on 13 Oct 2003 22:09:39 +0900,
>   Masao Mutoh <mutoh / highway.ne.jp> wrote:
> > むとうです。
> 
> > 特に2つ目の↓の方は文字列を渡す側にとって
> > 自然で良いですね。
> 
> 文字列中の self が特異クラスになるので必ずしも自然とは言い切
> れませんが、引数に渡す文字列はクラス定義と同じである事が明示
> できれば自然とも言えます。

あ、いえ、そこまで深く考えて言ったわけではなく、
単純に、使用者側(メソッド呼び出しする側)の使用感と言いますか、
そのレベルでのコメントでした(すみません)。

ちなみに想定している場面では引数に渡す文字列がクラス定義と同じに
なるので大丈夫そうです。
 
> # instance_eval でメソッド定義できるのが異端とも言える。
> 
> > > 1.8 ならこういうのもありですね。
> 
> これは勘違い、1.6 でもおっけーでした。

それは助かります。
 
> 後、細かい事ですが m の最後がコメント(#)かも知れないことも考えると
> 
>      eval("class <<self;" + m + ";end")
> は、
>      eval("class <<self;" + m + "\nend")
> 
> の方がよりよさそうですね。

確かに。
私ですとたぶんそこまで気が回らなかったと思いますので、事前に
アドバイスしていただきとても助かりました。

-- 
.:% Masao Mutoh<mutoh / highway.ne.jp>