From: Yukihiro Matsumoto Date: 2008-01-28T17:59:52+09:00 Subject: [ruby-dev:33455] Re: HashからStructを作る まつもと ゆきひろです In message "Re: [ruby-dev:33387] HashからStructを作る" on Sat, 26 Jan 2008 03:41:32 +0900, rubikitch@ruby-lang.org writes: |HashからStructを作れたらいいなと思いました。 どういうAPIが良いと思いますか。例ではStructという名前の関数 を導入していますが、それが最善だと思いますか? |「Kernel.#Struct」、「Struct.[]」、「Struct.new」の引数にHashを指定して |作れるといいと思います。 「Kernel.Struct」、「Struct.[]」は新設になりますが、本当に新 しいメソッドが必要ですか? 「Struct.new」を拡張する場合、メンバーがひとつしかなければ意 味が曖昧になるのですが、どちらを選択すべきだと思いますか? また、それによりプログラムがひとめでわからなくなる側面が増え たりしませんか? |理由は、 |* OpenStructはHashから作成できる。 OpenStructはHashですからね。固定メンバーのStructの場合、メン バーとして存在しないkeyが指定されたらどうなるか、あるいは逆 に指定されないメンバーがあった場合どうするかを明確にしなけれ ばなりませんね。 まつもと ゆきひろ /:|)