Perl変数
変数はメモリに保存されるデータです。変数を作成するとメモリ内にスペースが空きます。
インタープリタは変数の型に基づいてメモリ内の記憶領域を決定するため、整数、浮動小数点、文字列などのさまざまなデータ型を変数に割り当てることができます。
前の章では、Perl の 3 つの基本データ型、スカラー、配列、ハッシュを紹介しました。
スカラー $ から始めます ($a $b など) は 2 つのスカラーです。
@a @b などの @ 配列は 2 つの配列です。
ハッシュ % で始まり、%a %b は 2 つのハッシュです。
Perl は変数タイプごとに独立したコマンド空間を設定するため、異なるタイプの変数は同じ名前を使用でき、競合を心配する必要はありません。たとえば、$foo と @foo は 2 つの異なる変数です。
変数の作成
変数の型を明示的に宣言する必要はありません。変数が割り当てられた後、インタープリターは一致する型空間を自動的に割り当てます。
変数は等号 (=) を使用して値を割り当てます。
プログラム内で use strict ステートメントを使用すると、すべての変数に型の宣言を強制することができます。
等号の左側が変数、右側が値です。 例は次のとおりです。
$age = 25; # 整型 $name = "php"; # 字符串 $salary = 1445.50; # 浮点数
上記のコードでは、25、「php」、1445.50 が $age に割り当てられます。 、それぞれ$nameと$salary変数。
次に、配列とハッシュの使用方法を見ていきます。
スカラー変数
スカラーはデータの単一単位です。 データは、整数、浮動小数点数、文字、文字列、段落などです。簡単に言うと何でも構いません。以下は、スカラーの単純な適用です:
#!/usr/bin/perl $age = 25; # 整型 $name = "php"; # 字符串 $salary = 1445.50; # 浮点数 print "Age = $age\n"; print "Name = $name\n"; print "Salary = $salary\n";
上記のプログラム実行の出力は次のとおりです:
Age = 25 Name = php Salary = 1445.5
配列変数
配列は、順序付けされたスカラー値を格納するために使用される変数です。
配列@が始まります。
配列の変数にアクセスするには、ドル記号 ($) + 変数名を使用し、アクセスする添字を指定します。 例は次のとおりです。
#!/usr/bin/perl @ages = (25, 30, 40); @names = ("google", "php", "taobao"); print "$ages[0] = $ages[0]\n"; print "$ages[1] = $ages[1]\n"; print "$ages[2] = $ages[2]\n"; print "$names[0] = $names[0]\n"; print "$names[1] = $names[1]\n"; print "$names[2] = $names[2]\n";
上記のプログラムの実行結果は次のようになります。
$ages[0] = 25 $ages[1] = 30 $ages[2] = 40 $names[0] = google $names[1] = php $names[2] = taobao
プログラム内では$マークを使用しています $という文字を出力できるように前にエスケープ文字()を使用しています。
ハッシュ変数
ハッシュは、キー/値のペアのコレクションです。
ハッシュ%開始。
ハッシュ値にアクセスしたい場合は、$ + {key} 形式を使用してアクセスできます:
#!/usr/bin/perl %data = ('google', 45, 'php', 30, 'taobao', 40); print "$data{'google'} = $data{'google'}\n"; print "$data{'php'} = $data{'php'}\n"; print "$data{'taobao'} = $data{'taobao'}\n";
上記のプログラムの実行出力は次のとおりです:
$data{'google'} = 45 $data{'php'} = 30 $data{'taobao'} = 40
変数コンテキスト
いわゆるcontext: 式が配置されている場所を指します。
コンテキストは、等号の左側の変数の型によって決まります。等号の左側がスカラーの場合、それはスカラー コンテキストです。リストコンテキストです。
Perl インタープリターはコンテキストに基づいて変数の型を決定します。例は次のとおりです:
#!/usr/bin/perl @names = ('google', 'php', 'taobao'); @copy = @names; # 复制数组 $size = @names; # 数组赋值给标量,返回数组元素个数 print "名字为 : @copy\n"; print "名字数为 : $size\n";
上記のプログラムの実行の出力結果は次のとおりです:
コード内の名字为 : google php taobao 名字数为 : 3
@names は配列であり、2 つの異なるコンテキストで使用されます。最初のものはそれを別の配列にコピーするので、配列のすべての要素を出力します。次に、配列をスカラーに代入し、配列内の要素の数を返します。
以下にいくつかの異なるコンテキストがリストされています:
シリアル番号 | コンテキストと説明 |
---|---|
1 | スカラー− スカラー変数に割り当てられ、スカラーコンテキストの右側で評価されます |
2 | List− リストコンテキストの右側で計算された配列またはハッシュに代入します。 |
3 | Boolean − Boolean コンテキストは、true か false かを確認するための単純な式評価です。 |
4 | Void − この種のコンテキストは、どのような値が返されるかを知る必要はなく、通常は値を返す必要はありません。 |
5 | 補間 - このコンテキストは引用符内でのみ発生します。 |