Codelogy

2007年10月18日

配列やハッシュテーブルを構造体の代わりに使う奴はヤキ

Perl, Ruby など多くのスクリプト言語では、1つの配列に異なる型のオブジェクトを格納することができます。 Generics 導入前 (1.4 以前) の Java でも、同じようなことができました。
しかし、このテクニックは基本的に使ってはいけません。 次のプログラムを見てください:

books =[
    [ '神は妄想である', 'リチャード・ドーキンス', 2500 ],
    [ '穴 -HOLES-',     'ルイス・サッカー',        620 ],
]

この例では、配列 drinks の中の要素 (これまた配列) が各「書籍」のデータを表します。
0 番目の要素が「表題」、1番目の要素が「著者名」、2番目の要素が「価格」がそれぞれ格納されるという寸法。
なので、すべての書籍の著者名を出力するコードは次のようになります。

books.each { |b| puts b[1] }

......最低ですね。

>> 続きを読む...

About Ruby

ブログ「Codelogy」のカテゴリ「Ruby」に投稿されたすべてのエントリーのアーカイブのページです。過去のものから新しいものへ順番に並んでいます。

前のカテゴリはHaskellです。

次のカテゴリはアルゴリズムです。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。