2009-02-01から1日間の記事一覧

Rubyでキーの配列と値の配列からハッシュを作る

こういう2つの配列から keys = %w(k1 k2 k3) vals = %w(v1 v2 v3) こういうハッシュを作るようなときです。 {"k1"=>"v1", "k2"=>"v2", "k3"=>"v3"} よく使われているのは1次元配列に展開してHash[]やHash.new()に渡す方法です。 a1 = keys.zip(vals) ## [key…

Perlでキーの配列と値の配列からハッシュを作る

ハッシュスライスを使うのが一般的。 @keys = qw(k1 k2 k3); @vals = qw(v1 v2 v3); @hash{@keys} = @vals; print "$key:$val\n" while ($key,$val) = each(%hash); 出力 k2:v2 k1:v1 k3:v3 @hash{'k1','k2','k3'}はリスト、($hash{k1},$hash{k2},$hash{k3})…

Perlのハッシュキーは文字列、Rubyはオブジェクト

Perlのハッシュキーは文字列として保持されます。 リファレンスをキーにしてもそこからデリファレンスはできないことがわかります。 $ref = \"abc"; $hash{$ref} = 123; $key = (keys %hash)[0]; print "$ref is the reference of '$$ref'\n"; print "$key i…