C#やJavaなどの強い型付け言語と異なりRubyやJavaScriptは型付けの緩い言語です。最近はもっぱらRubyまたはJavaScriptなのですが、(ええ、昼間はC#書いてますが…)、JavaScriptの連想配列とプロパティの関係ってとても素敵ですね。
[sourcecode language="JavaScript"] var sample = { "name":"hoge", "age":30, "sex":"man", "email":"test@hoge.local" }
document.write("sample.name => " + sample.name + "<br />") document.write("sample.age => " + sample.age + "<br />") document.write("sample.sex => " + sample.sex + "<br />") document.write("sample.email => " + sample.email + "<br />")
// 連想配列を使用して書き直す for(var name in sample){ document.write("【連想配列】sample." + name + " => " + sample[name] + "<br />") }
-- 実行結果 sample.name => hoge sample.age => 30 sample.sex => man sample.email => test@hoge.local 【連想配列】sample.name => hoge 【連想配列】sample.age => 30 【連想配列】sample.sex => man 【連想配列】sample.email => test@hoge.local
[/sourcecode]
プロパティの数だけ値を書き出したいとき(ログの出力など)ではとても便利ですね。C#だとインデクサを使用するしかない(ハズ)なので、ちょっとうらやましい…。
■2011/11/8 追記 C#に限らず.NETではDictionaryを使用すればもちろん同じようなことはできます。Rubyの場合はHashですね。配列でできるところが手軽でいいなぁと思ったわけです。