日本でハリウッドVFXを制作! 「経産省アイディアボックス」 結果:  
●まとめエントリはこちら ●FAQ ●お問い合わせは左のメールフォームから

2009年1月22日木曜日

連想配列

今、勉強中の「TTSneo」のマニュアルにでてきた、「連想配列」。

疑問に思ったのは、
1)普通の配列や変数となにがちがうのか?
2)利点がわからない。下手すると変数より使いにくい(配列名と項目名の両方がひつようなので)
3)順番に並んでるわけでもないのになぜ、「配列」なのか?

さっそく検索。

--------------------
「配列は同じキーワードでいくつもの値を格納できるのですが、
連想配列はキーワードに対して一つの値しか格納できません」


これは疑問1の回答になるけど、これって逆に使いにくくなっているんでは。。。。


--------------------
beginnersCGI
このページにある図はわかりやすかった。
当然ながら、小難しい理論と、プログラム部分は読み飛ばしているので、ちゃんと理解できたわけではないが、

「連想配列はフォームからの値の受け取りなどの項でも使われており、非常に便利なので・・・」

ということで、「フォーム」とうものと組み合わせると便利らしい。
使い道がないわけでもないんだなと思う。
あと疑問3の答えにもなっているかな。
ようは名前のついた箱がならんでいると考えれば、これも配列。
おそらく変数とちがって、コンピュータ内部での処理の仕方が配列と同じようになっているんだろう。
プログラムの説明などをみると「変数」も「連想配列」も「文字の集まり」なので、そのあたりのことがわかりにくかったのだろう。なんとなく納得。



--------------------
Flashで遊ぼう
「すごく便利な連想配列
なにかと重宝する連想配列。
price["apple"]=98;
price["orange"]=48;
price["banana"]=105;
こういう感じで配列の添え字のところが文字列になってるやつですね。

なにが便利って、連想配列ではなく単に配列でデータがあるとしたら、、、
fruit[0]="apple";
fruit[1]="orange";
fruit[2]="banana";

yen[0]=98;
yen[1]=48;
yen[2]=105;

と二つの配列があり、いざappleの値段が欲しい時、まずappleの添え字が何番か全数から調べ、そこから得た添え字により値段を得ることになります。

つまり、いちいち値段を調べるのにたくさんfor文なりwhile文をブンブン回す必要がでてきます。

データ数が少ないのならともかく、これが多くなると精神的にまずいよなあ~っと気分がブルーになってしまうわけです。え?私だけ?

それが連想配列だと最初に書いたようにダイレクトに得ることができるのです。(^^)v」

もう少し便利さがわかったような気がする。
●添え字(項目名)を使うことで直接その情報を得ることができる。(変数も同じじゃないのか?)
●For文、while文を使わなくて、簡単になるらしい。精神的にも良いらしい。



--------------------------
Perl/CGI研究室 'PERL-LABO'  
フォームデータを連想配列化

「連想配列っていうのはPerlにもともと用意されている、「名前=値」というペアを格納するのに凄く便利な機能です。「名前=値」っていうと、フォームデータの形そのまんまですね。ですから、フォームデータを格納しておくのにもとても都合がいいんです。 」

なるほどフォームデータに便利なのか。。。今の自分には関係ないか。。。。
そろそろ考えるのが面倒になってきたので、連想配列を追求するのはここまで。

0 件のコメント:

コメントを投稿