
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ランキング
-
*(アスタリスク)の意味
-
「名前を元に占いが出来るサイ...
-
VBAにハッシュ関数はないのです...
-
VBAでの一時停止と再開の方法
-
画面を強制的に再描画させる方法
-
エクセルVBAでTransposeの不思議
-
VBのReturnの使い方
-
EXCEL VBA ユーザーフォームの...
-
CSVファイルの特定の行だけを読...
-
VBAで3秒だけ時間を止めたい
-
文字の整列(printf)
-
ループフリー
-
VBA for i=1 to lastrow
-
WinAPI「MsgWaitForMultipleObj...
-
多重ループの抜けだし方
-
マクロ Publicでの配列定義
-
Excel VBA ユーザーフォームの...
-
チェックボックスのperlでの値...
-
リストボックスに縦スクロール...
-
DoEventsが必要な理由について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ハッシュ検索はなぜ速い
-
チェックデジットについて
-
重複ファイルを削除したいので...
-
文字列を変数名として扱う方法
-
ハッシュリストって単にハッシ...
-
Perlでファイルを読み込み...
-
「名前を元に占いが出来るサイ...
-
列挙型と連想配列の違いを教え...
-
VBAにハッシュ関数はないのです...
-
まったく同じファイルのハッシ...
-
英語でのシャープとコメの呼び...
-
foreachについて
-
[perl] $xxx == 1 or $xxx == 5...
-
ハッシュリスト。
-
二次元配列のハッシュ版の記述...
-
ハッシュのソート
-
正規表現を使ってコードを短く...
-
短いハッシュの作り方
-
Perlでいうハッシュとはどのよ...
-
フォームデータをハッシュで返...
おすすめ情報
言語は特に限定していないのですが、言語によって呼び方が異なるということでしょうか?