まつもと ゆきひろです.
書きかけのメイルを失っちゃいました….悲しい.
In message "[ruby-list:2008] [Request] static var? (Re: Array as list/tupple)"
on 97/01/31, sinara / blade.nagaokaut.ac.jp <sinara / blade.nagaokaut.ac.jp> writes:
|
|原です。
|(1)クラス固有のグローバル変数(?)がほしーい。
なんどか検討してみたことがあるのですが,その度に挫折していま
す.難しいのは変数の場合その値の共有の範囲を限定するのが難し
いということです.
しかし,ほとんどの場合(若干姑息な手段を用いる必要があっても),
定数で何とかなるものです.
|class Foo
| def bar(x)
| if (y = %Cash[x])
| y
| else
| y = 本来の処理
| %Cash[x] = y
| end
| end
|end
class Foo
Cache = {}
def bar(x)
if (y = Cache[x])
y
else
y = 本来の処理
Cache[x] = y
end
end
end
|class Foo
| def initialize
| %ProductNum += 1
| @my_num = %ProductNum
| end
|end
class Foo
ProductNum = [0]
def initialize
ProductNum[0] += 1
@my_num = ProductNum
end
end
で,どうでしょう?
|これは大変な仕様変更だな。ruby++ でしょうか。:-)
将来ありうる追加仕様としてはファイル(あるいはパッケージ)に固
有のグローバル変数というのはありえるかもしれないとおもってい
ます.Cのstaticのグローバル変数みたいなもんですね.
|
|(2)ruby からオブジェクト指向的なものを取り除いた ruby--
|がほしーい。
イテレータ以外の制御構造とグローバル変数,ローカル変数はオブ
ジェクト指向してませんね.
しかし,メソッドはないでしょうから(関数のようにみえるものも
含めて)全部ダメでしょうし,演算子も一部の制御構造タイプのも
のを除いては全滅ですね.それに文字列,正規表現,配列,連想配
列全てオブジェクトですからだめですね.もうほとんどなにも残ら
ないのでは?
原さんがどうしても欲しいというんでしたら,特別に作っても良い
ですけど(費用は後で相談しましょう),喜ぶ人は少ないでしょうね.
|(3)複数行にわたるコメント指定がほしーい。
|
|if FALSE ... end でもいいけど、ruby-mode.el がインデントつけて
|くれるから、、。
ruby-encomment-regionとかじゃダメなんですよね.ずっと先なら
perlのようなembedded documentを組み込むかも知れませんけど.
まつもと ゆきひろ /:|)