Perlでハッシュ値とキーを使用する


0
  1. <>演算子を使用してユーザーから文を読み取り、文を単語の配列に分割し(ヒント:split(/ regex /、$ string)を使用し、文に含まれる単語の数を出力します。

  2. センテンスの単語をキーとして、各単語の出現回数を関連値として含むハッシュを作成し、センテンス内の各単語の出現回数をアルファベット順に出力します。

さて、課題として上記の質問が私に与えられました!そして、あなたが私がそれを解決するために1つを求めるつもりだと思う前に、私はそれを完了する方法に関するいくつかのガイダンスを探しているだけではありません!

私は実際にはかなり簡単だった最初の部分を完了しました!下に貼り付けます:

print("please enter a sentence!\n");
$x = <>;
chomp $x;

@bases=split(" ",$x);
print ("@bases\n");
foreach $i (@bases){
  print("$i\n");
}

$size=@bases;
print("the amount of words in this sentence are:$size\n");

私は2番目の質問が私に何をしているのかを理解していますが、それを実装するのに苦労しています!一体どのように文中で単語が繰り返されるかを数え、それをその正確な単語の値として使用します!わからない!だれかが誰かが正しい道を案内してくれたら!私はとても感謝しています!

ありがとうございました!それ以上理解できたら貼り付けます!


ハッシュと値とキー!ああ!
グレンジャックマン

「perldoc perlintro」のPerl変数タイプのセクションが役立ちます。
グレンジャックマン

回答:


0

ハッシュは、添え字(「キー」と呼ばれる)が整数であることに限定されない配列と考えてください。この問題では、キーは当然スクリプトが処理する単語になり、ハッシュ値は各キーの出現回数になります。そのため、単語を見つけるたびに、それをハッシュキーとして使用、ハッシュ値を1つ増やします。

アルファベット順に結果を印刷するには、(かどうかをハッシュキーのすべてのソートされた配列を構築し、ループになるだろうforeachか、for各ハッシュキーと対応するハッシュ値を印刷し、味に依存します)。

それは以来エクササイズ、あなたはコードでそれを表現する方法を見つける必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.