From: hattorihiroaki1@... Date: 2011-01-12T09:49:03+09:00 Subject: [ruby-dev:43009] Re: Hash#[]の別名(Symbolをキーにして) 服部裕暁です。 ### > 2011/1/11 : > > 言い過ぎだと思いますが、これもちょっとやりすぎでは… > なにがやりすぎなのでしょう。言語仕様になってしまってます。 > それは他のクラスでも定義するときに十分有効だと思います。 私としてはやや簡単に書けすぎているのではないかと思うのです。Rubyの一番の弱点は 記号がないことなので、記号を自由に定義できるようにと願って書きました。 例えば [!%&-^*+:/><.]を自由に組み合わせて記号をつくれないかと想像しました。 そのための文法としてope[記号の列]というものを考えました。 > ん、ちょっと意味がわかりません。 > 1 > 2を実行するのに毎回1.ope.> 2とかかないといけないってことですか? 1 > 2 の本当の名前が1.ope> 2で、使いやすいように略称として1 > 2 があるという雰囲気です。 ### >服部さんこんにちは。あんどうと申します。 >単純に疑問なんですが、どうしてそこまでHash#[]に別名を用意したいんでしょう?しかもキーがSymbolのとき限定の。個人的には>「.」でHashの値にアクセスできるとしたら嬉しいですが、そうでないならその為だけにわざわざ頓狂な文法を用意して欲しいとは全>く思わないんですが・・・。 確かに確かにそのとおりです。今思うのはhash.symbolかhash->symbolぐらいなのですが、両方とも弱点があります。 (前者はメソッド呼び出し。後者はブロック定義) これも無理だけれどもhash:symbol、hash::symbolなんかも見た目はいいなあ。 ですから、絶対無理だとは思うのですけれども。 これ以上案が出なさそうなら議論をやめたいと思います。