
No.2ベストアンサー
- 回答日時:
言語によって呼び方や動作仕様に違いがあります。
なので、大抵はこんな風に扱われている、という例になります。
○列挙型:
数値や文字列の代りに「名前」を使えるようにした型。
使える「名前」を「列挙」してある。
一連の「定数」を1つにまとめて扱える。
解りやすい名前にすることと、受け付ける値/型を限定することで、プログラムの間違いを減らす等の効果がある。
例えば
曜日型: 月,火,水,木,金,土,日
曜日型変数: WeekDay
とすると
WeekDay = 日
# WeekDay=7 はNG
# WeekDay="日" はNG。文字列ではない。
d = getDay(日) #引数に曜日型を取る関数
# d = getDay(7) とは別の扱い。言語によって
# ・NGになる
# ・オーバーロードで getDay(整数) で定義した方が呼ばれる 等
○連想配列:
通常の配列は、添字として整数を使うが、それを整数以外でも使えるようにしたもの。
A[10]=3.5 # 通常の配列 添字は整数
D["質問番号"]=3333 # 連想配列では、添字に整数以外のもの(文字列等)が使える
「見出し語」と「内容」という関係から 「辞書(dictionary)」型
「値」と「値」の写像(map)になることから「マップ」型
実装としてハッシュテーブルを使う(あるいは、使っていた)ことから「ハッシュ」型
(または、Perlで連想配列をハッシュと呼んだこと「ハッシュ」型)
○列挙型と連想配列の関係
基本的にはありません。
連想配列のキーとして、列挙型が利用できる場合があります。
No.4
- 回答日時:
列挙型は列挙するだけで数値を+1して定義する定数値
enum {
a = 1,
b,c,d,e,f
}
であれば
a => 1
b => 2
c => 3
d => 4
e => 5
f => 6
とぞろぞろつながって定義されます。
連想配列は配列としてインデックスを文字列で表現が可能なarrayの事です。PHPなどが有名です。
var['a'] = 1;
var['b'] = 2;
列挙型と連想配列の違いといわれましても、数値を扱うものとしては同じですが、列挙型は定数、連想配列は変数ですとしか言いようがないですね。
この回答へのお礼
お礼日時:2015/06/08 22:43
>列挙型と連想配列の違いといわれましても、列挙型は定数、連想配列は変数ですとしか言いようがないですね。
ですよね^^;失礼いたしました。
丁寧なご回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
列挙型と連想配列の違いを教え...
-
perl ハッシュ エラー
-
perl 文字列検索後に指定フィー...
-
VBA 二次元配列の1つ目を増...
-
スレッド起動したフォームを正...
-
Excel VBA ユーザーフォームの...
-
Delphi for文
-
GIFアニメをループさせたくない
-
ExcelVBAでのデータ型変換、も...
-
UWSCに制限時間を付けたいです
-
CSVファイルの特定の行だけを読...
-
UWSCの終了の仕方
-
ListBox 複数選択 で オートフ...
-
エクセルVBAでTransposeの不思議
-
範囲指定したセルを1つずつ飛...
-
iアプリ、それともJava(?)に...
-
pythonでファイルのコメント行...
-
【VBA】全て空白のセルの列の非...
-
VBAのautofilter、criteriaの配...
-
BGMのループ再生
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ハッシュ検索はなぜ速い
-
チェックデジットについて
-
重複ファイルを削除したいので...
-
文字列を変数名として扱う方法
-
ハッシュリストって単にハッシ...
-
Perlでファイルを読み込み...
-
「名前を元に占いが出来るサイ...
-
列挙型と連想配列の違いを教え...
-
VBAにハッシュ関数はないのです...
-
まったく同じファイルのハッシ...
-
英語でのシャープとコメの呼び...
-
foreachについて
-
[perl] $xxx == 1 or $xxx == 5...
-
ハッシュリスト。
-
二次元配列のハッシュ版の記述...
-
ハッシュのソート
-
正規表現を使ってコードを短く...
-
短いハッシュの作り方
-
Perlでいうハッシュとはどのよ...
-
フォームデータをハッシュで返...
おすすめ情報
言語は特に限定していないのですが、言語によって呼び方が異なるということでしょうか?