【FlowScript講座】第9回 Hashtable


[管理者]
KHCmaster
今回はHashtableに関するデータの扱い方について学びます。

Hashtableはデータをまとめるために使うという点ではArrayListにすごく似ているのですが、使い方が異なります。

ArrayListにデータを追加するときにはArrayList.Addを使い、
Hashtableにデータを追加するときにはHashtable.Addを使います。

ですが、Hashtable.AddにはArrayList.AddにはなかったKeyというプロパティがあり
必ず指定しなければなりません。

ArrayListでは追加した順に0,1,2とデータに対して順番がつけられ、取得する際にはその番号でArrayList.At
使えばデータが取れました。

Hashtableではこの順番というキーに相当するものをいかなるデータでも行えるようにしたテーブルになります。
百聞は一見に如かずなので、サンプルをご覧ください。(AddGet.fsml)


まず、Hashtable.ValueでHashtable型の入れ物を作ります。
次に、Hashtable.Addでデータを追加します。
今回追加するデータは、Int32型で10という値のKeyとInt32型で11という値のValueと
String型でhogeという値のKeyとString型でhugaという値のValueです。
それぞれ追加が終わると、Hashtable.GetValueでデータを取得します。
その際のKeyは追加するときに使用したKeyを使用します。
それぞれで取得したValueをString.Formatを使い、

Key => Value

の形でペアを出力します。

使い方自体は簡単ですね。
ArrayListと異なる点は、順番を意識しなくていいというところに尽きます。

ところで、このサンプルだとScope.GetValueとかScope.SetValueでもいいんじゃない?
と思う方もいるかもしれません。実際このサンプルではそれらを使うことでも動作します。

Hashtableは、似たような構造を持つデータをまとめる構造を定義するときに使います。

そしてそのHashtableをArrayListでまとめると、Repeat.Foreachを使ってあるデータ構造に対する反復処理が
簡単に書けるということになります。

これは、Scope.GetValueScope.SetValueで行うことはできません。

今回のまとめですが

Hashtable.ValueでHashtableのデータを作成
Hashtable.AddでHashtableにKeyとValueのペアを追加
Hashtable.GetValueでKeyを指定してValueを取得

となっています。
今回の講座に関する質問はこのスレッドで受け付けています。
次回はBooleanについて行う予定です。
作成日時:2013-08-24 12:42:19 更新日時:2013-08-24 21:04:15
FlowScript講座をフォーラムを使って開講中です。

Re: 【FlowScript講座】第9回 Hashtable


[譜面マイスター]
ネット・イメージ
理解できない人向け
作成日時:2019-06-21 20:05:09 更新日時:2019-06-21 20:05:09