3

scalars arraysとについて読みましlistた。の意味がわかりませんlist。たとえば、(5, apple, $x, 3.14)は ですがlist、実際にリストを参照している変数は何ですか?

リストは配列を初期化する単なる方法ですか、それとも既知のデータ構造ですか?

4

3 に答える 3

3

Perl でリストを参照するにはどうすればよいですか?

他のものと同じように - 参照演算子を使用し\ます。perlreftutperlrefを参照してください。

my $x;
\(5, 'apple', $x, 3.14)

式が返されます

(
    \ 5,
    \ "apple",
    \ undef,
    \ 3.14
)

これはあまり役に立ちません。

たとえば、(5, apple, $x, 3.14) はリストですが、実際にリストを参照している変数は何ですか?

なにもない。これは匿名の値です。

すべての値がそれを保持する変数を必要とするわけではありません。リテラルもプログラムの重要な部分です。

リストは配列を初期化する単なる方法ですか、それとも既知のデータ構造ですか?

Perl array と listを読みます。

于 2013-04-10T18:37:28.013 に答える
3

Perl には 3 つの異なる基本データ構造があります。

  • ハッシュ: これらはキーと値のペアです。
  • 配列: これらは順序付けられた値です。
  • スカラー: これは単一の値です。

ハッシュ:

my %employee = (
    "A001" => "Albert",
    "A002" => "Bob",
    "B003" => "Gary",
);

print "$employee{A001}\n";   #Prints "Albert"
print "$employee{B003}\n";   #Prints "Gary"

配列:

my @fruit = ("Apple", "Orange", "Banana");
print "$fruit[0]\n";   #Prints "Apple"
print "$fruit[2]\n";   #Prints "Banana"

スカラー:

my $age = "None of your business";
print "You're $age years old\n";  #Prints "You're None of your business years old

Listは単なるアイテムのリストです。たとえば、@fruit配列です。ただし、果物の名前を含むリストと同じになるように配列を設定しました。

技術的には、リストは変更できませんが、配列は変更可能なデータ構造です。

for my $color ("red", "green", "blue") {
    print "$color is an item from my list\n";
}

上記では、私のループはlistforを介して進みます:

my @list = ("red", "green", "blue");
for my $color (@list) {
   print "$color is a member of my array\n";
}

上記はほとんど同じコードですが、今度はforループが配列内を進みます。

于 2013-04-10T19:02:09.587 に答える