1

ハッシュを読み取り、ハッシュ内のすべてのキーと値のペアを出力する Perl のサブルーチンがあります。ただし、キーがあるたびに foreach ループを実行して出力する代わりに、結果を 1 つのスカラーに追加し、最後に結果を組み合わせてスカラーを返す必要があります。

Java では、変数にテキストを簡単に追加できることを思い出しましたが、Perl でこれを行う方法がわかりません。

何かご意見は?以下に印刷コードを追加しますが、基本的にはそれを取得してスカラーに追加し、最後に結合されたスカラーを返したいと考えています (たとえば$output)

sub printSongs
{
    print "Song Database\n\n";
    foreach $key (keys %songList)
    {
       print "Song Title: $key ---- Duration: $songList{$key}\n";
    }
}

PS: 比較的単純なはずなので、この回答を検索しようとしましたが、何も見つかりませんでした。追加が最良の言葉かどうかはわかりません。

4

2 に答える 2

6

Perl の連結演算子は.. として割り当てと組み合わせることもできます.=

于 2013-10-14T21:23:19.897 に答える
0
sub printSongs
{
    print "Song Database\n\n";

    foreach $key (keys %songList)
      {

       $something_combined = $something_combined . 
           "Song Title: $key ---- Duration: $songList{$key}\n";
      }

   print $something_combined;  

 }

ピリオド文字を使用して変数に何でも簡単に追加できます。

例: $something = "Something" . $somevar . 「他の何か」 . "等";

Java では通常 + を使用して文字列を結合します。Perl では、 を使用できます。

于 2013-10-17T19:47:55.990 に答える