From: TAKAHASHI Masayoshi Date: 2001-07-09T21:18:15+09:00 Subject: [ruby-dev:13793] Re: Hash with block (Re: GenerativeHash) 高橋征義です。 matz@ruby-lang.org (Yukihiro Matsumoto)さん: > |# 「大クラス主義」って一般用語なんでしょうか? 便利そうな > |# 用語ですね。そうすると、Javaは「小クラス主義」? > > いや、私の造語です。 そうだったんですか。 # ならば広めるしか(そうなのか?)。 > | * Hash#block_given? はブロック付きかどうかをtrue/falseで返す > | > |というメソッドを加えるといいでしょうか? > > block_givenは止めた方が...(Kernel#block_given?と重なるから)。 うーん、そうですか。もう少し名前を考えないと。 > |> | * ついでにFoo["a"=>1] みたいなことはできないようにする。 > |> > |> これはなんでそうしたいんでしたっけ? > | > |単に Foo["a"=>1]{ [] } みたいなことはRubyの文法的にできないと思って > |いたからなのですけど、ひょっとしてできるんでしょうか。 > > いや、できません。それが意図だったんですか? はい、そういうつもりでした。 元々の「Hashを拡張してブロックを渡せるようにする。defaultとしては そのブロックをProc化したものを返す」というのが途中で途絶えたのは、 「defalutがProcだった場合と区別をつけるのが困難」ということだったと 思います。 そこで、「必ずブロックつきで、defaultがそのブロックをcallして返って くる値になっている、Hashのサブクラス」を作れば、区別する必要もなく なり(Procに決まってるんですから)問題がなくなるのでは、という発想 だったのでした。 高橋征義 (TAKAHASHI Masayoshi) Email:maki@inac.co.jp