ハッシュの変数名は、単数形か複数形か
スカラ変数は単数形、配列変数は、複数形でよいのですが、ハッシュ変数の場合は、変数名を単数形にすべきか、複数形にすべきか、いつも迷います。つけ方の方針について考えてみます。
スカラ変数はいつも単数形です。
my $name = 'kimoto';
配列変数はいつも複数形です。
my @names = ('kimoto', 'tanaka');
ハッシュ変数はどうでしょうか。では最初に本の情報を表す場合。本はひとつです。本の中に、本をあらわす情報が入っています。このような場合は、単数形のほうがよいと感じます。
my %book = { id => '00000001', title => 'Perl' } my $id = $book{id}; my $title = $book{title};
次に、名前を指定して、父親の名前を取り出す場合を考えてみましょう。これは、同じ種類で、複数の人の情報が入っています。このような場合は、複数形のほうがよいと感じます。
my %fathers = ( ken => 'taro', naoto => 'ichiro' ); my $father = $fathers{ken};
つまり、ハッシュの場合は、変数名を単数形にしたほうが自然な場合と、複数形にしたほうが自然な場合があるということです。