TWクラブ【BloodyRosary】@6.変数


Perlではスカラーと呼ばれる基本的なデータ型がある。
$スカラー型数値や文字列を1つだけ代入できる
@リスト型スカラーに順番をつけて並べたもの
%ハッシュ型連想配列とも呼ばれ、「キー」と「値」を1組のペアとして関連付けされた配列

・スカラー型の例

	$x = 1;		
			$x という変数に数値の 1 が代入される

	$y = "テスト\n";
			「テスト」 という文字と、改行コードが代入される

	$y = 'テスト\n';
			「テスト\n」 という文字が代入される(\nが改行という意味にならず、そのまま代入される)

	$z = "テスト\"です\"";
			「テスト"です"」 という文字が代入される("を代入するには、手前に\を入れる
			 'で囲った場合についても、手前に\を入れれば代入できる)

	$z = "テスト'です'";
			「テスト'です'」 という文字が代入される("で囲った中では、'は普通に代入できる。逆もOK

	$a = $b;
			$aに$bの中身を代入する

	$a += $b;
			$a + $b を $a に代入する

	$a++;
			$aのオートインクリメントを行う(オートデクリメントも可能 → $a--)

・リスト型の例

	@x = (1, 2, 3);
			@x に 1, 2, 3 をこの順序で代入 文字の場合、"a","b","c"等で代入 変数も代入可能

	・配列の中の各要素は、$配列名 [ 添え字 ] という形式で表す

		@fruit = ("apple", "orange", "banana");	

		↓ これと同じ動作で、各要素に入れていく例

		$fruit[0] = "apple";
		$fruit[1] = "orange";
		$fruit[2] = "banana";

	・配列の個数は、左辺のスカラー変数に代入できる

		@fruit = ("apple", "orange", "banana");	
		$num = @fruit;
			例では、$num には 3 と代入される

	・配列関数
push配列の末尾へ要素を追加
pop配列の末尾の要素を削除
unshift配列の先頭へ要素を追加
shift配列の先頭の要素を削除
reverse配列の順序を逆順にする
sort配列の順序をソートする

	例

	@char = ("A", "B", "C");
	push(@char, "D");
	print "@char\n";

	<出力結果>
	A B C D 

	配列の要素数取得
	例

	@hoge = (100, 110, 120);
	$num = $#hoge;
			最後の添字を取得(この場合は2。配列が空の場合は-1

	$num = @hoge;
			要素数を取得(この場合は3。配列が空の場合は0)

	そのほかは以下URL参照
	http://www.kent-web.com/perl/chap3.html

・ハッシュ型の例

	%fruit = ("red", "apple", "yellow", "banana");
			%fruit に red と apple 及び yellow と banana という文字列をそれぞれのペアで代入

	↓ 同じ動作
	%fruit = (
	      "red" => "apple",
	      "yellow" => "banana",
	);

	・ハッシュ変数の中の各要素(各ペア)は、$ハッシュ変数名 { キー } という形式で、
	 それに対応する「値」を参照することができる

		%fruit = ("red", "apple", "yellow", "banana", "purple", "grape");
		↓
		$fruit{"red"} = "apple";
		$fruit{"yellow"} = "banana";
		$fruit{"purple"} = "grape";

	・ハッシュ変数の各要素には、「キー」を指定することで「値」にアクセスできる

		%fruit = ("red", "apple", "yellow", "banana", "purple", "grape");
		print "$fruit{'red'}\n";

		<出力結果>
		apple 

	・ハッシュ関数
keysすべてのキーを取り出す
valuesすべての値を取り出す
each1組のキーと値を取り出す
delete特定の要素を取り除く

	例

	%fruit = ("red", "apple", "yellow", "banana", "purple", "grape");
	@file = keys (%fruit);
	print "@file\n";

	<出力結果>
	purple yellow red 

	そのほかは以下URL参照
	http://www.kent-web.com/perl/chap4.html

Perl目次に戻る

別館TOPに戻る
ブログに戻る

BloodyRosary
Presents by 【BloodyRosary】
Copyrights (C) NEXON Corporation and NEXON Co., Ltd.
All Rights Reserved.