0

ハッシュを出力する方法について質問があります。

@language(1,2,3);
for my $i (0 .. $#language)
{
  $statement = $db->selectall_arrayref(
    "select word from words
    left outer join language
    on words.languageId = language.languageId
    where words.languageId = $language;"
  );
  %words=((@language[$language])=> {@$statement});
}
return %words;

ハッシュを出力する方法

私はこれを試しました:

foreach my $key(keys %newwordsList)
{
    print "Dozzzz: " . $key . "\n";

    for my $ind(0 .. @{$newwordsList{$key}}-1){
        print $newwordsList{$key}[$ind] . "\n";
    }
} 

しかし、私は何も得ません。

質問があります:ハッシュは連続した順序であるかどうか、つまり$key、印刷しようとすると印刷$keys するはずです123が、印刷されます132

なにが問題ですか?

4

1 に答える 1

0

ハッシュ テーブルは挿入順序を保持しません。Tie::IxHash など、別のデータ構造を使用する必要があります。

于 2011-02-18T05:14:46.093 に答える