From: matz@... (Yukihiro Matsumoto) Date: 1998-11-26T13:14:16+09:00 Subject: [ruby-dev:3685] Re: block local variable(Re: スコープの範囲) まつもと ゆきひろです In message "[ruby-dev:3684] Re: block local variable(Re: スコープの範囲)" on 98/11/26, Shin-ichro Hara writes: |原です。 |ああ、メソッドを関数って呼んでしまったんです。局所メソッドが |ほしいという話です。[ruby-list:11043]の enumerable.rb で |sort から呼ばれるソートは _qsort と先頭に _ を付けて呼ばれ |にくくし、private :_qsort としたんですが、こういう場合、つま |り他から隠したいメソッドって、どう定義するのがお薦めなんです |か? 原さんのなさった方法の通りでしょうね. つまり * privateにする * 呼ばれにくい名前にする のどちらか,または両方ってことですが. 仮に一時的なメソッドを用意したとすると class Foo def foo def bar # barを定義 end ... # barが有効 end end なのは良いとして, * barが有効なのはスタティックなスコープの範囲内か,それと もfooメソッド実行中はFooクラスのインスタンスで有効なのか * barメソッドが使えるのはインスタンス単位か,クラス単位か などが気になります.特に前者は静的な範囲だとするとそれはメソッ ドでなく関数になってしまい,Rubyのモデルの大幅な変更になりま すね. まつもと ゆきひろ /:|)