なでしこWEB > マニュアル > プログラミング基礎
なでしこ
プログラミング基礎編〜ハッシュ
ハッシュとは・・・
「配列変数に似た機能でハッシュ機能があります。配列変数が番号を使ってデータにアクセスするように、ハッシュは、文字を使ってデータにアクセスします。
田中さんの成績
ハッシュは、配列変数のようなものなので、連想配列とも呼ばれます。
配列変数の『配列¥番号』を、『ハッシュ@キー名』のようにアクセスします。
下のプログラムはハッシュを使って、田中さんの成績を表したものです。
田中とはハッシュ
田中@「国語」は80
田中@「数学」は40
田中@「社会」は92
田中@「理科」は67

成績表示とはプロパティエディタ
成績表示のテキストは田中
これを実行すると、
国語=80
数学=40
社会=92
理科=67
のようにプロパティエディタに表示されます。
上のプログラムだと、あまりハッシュの有り難味がありませんので、ユーザーが入力した科目を表示するというプログラムを作ってみます。
田中@「国語」は80
田中@「数学」は40
田中@「社会」は92
田中@「理科」は67

「知りたい科目は?」と尋ねて、科目に代入。
田中@科目を表示。
これを実行して、国語と入力すると、80が表示されます。また、数学と入力すれば、40が表示されます。
このようにハッシュを使うと、好きなデータをキーによって取り出すことができるのです。
アンケートの集計
ハッシュを使ってアンケートを集計してみましょう。
以下は10人に行った納豆のアンケートの集計プログラムです。
アンケートは「好き
嫌い
好き
好き
嫌い
好き
好き
嫌い
嫌い
好き」
結果は「」
番号を0から9まで繰り返す
  キーは、アンケート[番号]
  キーを表示。
  結果@キーは、結果@キー + 1

「--- 結果 ---
{結果}」を表示。
プログラムを実行すると、
好き=6
嫌い=4
と集計の結果が表示されます。

まず、配列変数「アンケート」に好きか嫌いかを代入します。これを「繰り返し」構文で、変数「キー」に好きか嫌いを得ます。そして、ハッシュ変数『結果』で好きか嫌いの数を数えます。
実はこの例ではあらかじめアンケートの数量を固定してしまってるのでそれほど有り難味がありません。次の反復構文を使うとアンケートの集計がぐっと楽になります。

次のページ→反復
前のページ←変数を使う
なでしこWEB > マニュアル > プログラミング基礎