ハッシュと連想配列

This entry was posted by on Thursday, 6 April, 2006
>ところでハッシュについて「Perlにおける連想配列のこと」という表現があるので詳しい人へ質問。連想配列というのはずっと、ペア(ないし要素が2つのリスト)を要素とする配列のことだと長いことずっと思っていました。もちろん実装がリストなら連想リスト。しかし、こと Perl の世界では、なぜかハッシュのことを連想配列と呼ぶことが多くないでしょうか。 > >おれの理解が根本的に誤りで、いわゆる辞書的な構造、連想コンテナ、マップ、等々の「2つのデータを対応づけるデータコンテナ」の総称として連想配列と呼ぶのでしょうか。それはどれくらい一般的なんでしょうか。 > >確かに >ウィキペディアでもそのような表現がある >ので非常に一般的なように思えるんですが(リンクが面倒だからしないけど英語版でもそのように表現されている)、おれにはどうも違和感があるのです。連想配列は連想配列であって、ハッシュとは違うでしょう。マップ(とか連想コンテナとか)の実装として、連想配列があり、連想リストがあり、ハッシュがあり、 std::map は赤黒木を使い、 GHC の Data.Map は AVL 木を使っている。という表現ならばわかります。しかし「Perlの連想配列はハッシュである」とか言われても「何のこっちゃ?」という感じがしてしまうのです。おれの感覚がおかしいんでしょうか。配列という単語の利用に制約を加えすぎなんでしょうか。 > >どうもよくわかりません。 >

Comments are closed.