クックブックとラクダ本で勉強中。「配列の配列」と「配列のハッシュ」を勉強した。
配列の配列
Javaとかで言う2次元配列とか。記法が違うだけでそんなに変わらん。
配列のハッシュ
一つのキーに対して、複数の値を対応させたい時に使う。例にこういうデータ構造を表示させるようにしてみる。
yoshid50:r java perl miyaga50:python r satou30:php css java
これを配列のハッシュで表示させてみる。
use strict; use warnings; open FILE, "prog.txt" or die "can't open prog.txt $!"; my %HoA = (); while(my $line = <FILE>){ my ($who, $prog) = split /:\s*/, $line, 2;#2つにsplitしてくれ my @prog = split ' ', $prog; $HoA{$who} = [@prog]; } for my $who(keys %HoA){ print "$whoが使える言語は"; for my $i(0..$#{$HoA{$who}}-1){ print "$HoA{$who}[$i]と"; } print "$HoA{$who}[$#{$HoA{$who}}]です。\n"; }
結果はこちら。
miyaga50が使える言語はpythonとrです。 yoshid50が使える言語はrとjavaとperlです。 satou30が使える言語はphpとcssとjavaです。
ほとんどラクダ本を参考にしてる。