「Perl小技集」の版間の差分

提供: dococo wiki
ナビゲーションに移動 検索に移動
imported>Webmaster
imported>Webmaster
31行目: 31行目:
 
print join("\n", @make_union);
 
print join("\n", @make_union);
 
#encode文を挟む場合は以下の様な表現となる
 
#encode文を挟む場合は以下の様な表現となる
print OUT encode('cp932',join("\n", @make_union));
+
print encode('cp932',join("\n", @make_union));
 +
</syntaxhighlight>
 +
=== 配列最後の要素を出力する ===
 +
<code>$#変数名</code>で参照できます<br />
 +
<syntaxhighlight lang="perl">
 +
#これで一番最後の配列に入っている値を表示できる
 +
print "$array[$#_array]\n";
 +
</syntaxhighlight>
 +
=== 配列の個数を表示する ===
 +
配列の個数は、左辺のスカラー変数に代入することで数でてきます。代入が無いと要素そのものが出力されます。<br />
 +
<syntaxhighlight lang="perl">
 +
my @chars = qw/z z a b c d e f/;
 +
 +
#配列の個数のスカラー変数に代入
 +
my $num = @chars;
 +
 +
#z z a b c d e fが表示される
 +
print "@chars\n";
 +
 +
#要素数「8」が表示される
 +
print "$num\n";
 
</syntaxhighlight>
 
</syntaxhighlight>
 
----
 
----
 
<!-- カテゴリに追加するページ名を記入 -->
 
<!-- カテゴリに追加するページ名を記入 -->
 
[[Category:Perl|こわざしゅう]]
 
[[Category:Perl|こわざしゅう]]

2017年9月24日 (日) 11:08時点における版

プログラミングをしばらくしていないと、いろいろ忘れるのでPerlで使用出来る個人的に覚えておきたい小技集を備忘録としてまとめました

言葉の理解

配列とリスト

同じ者だと思っていました。
言葉的な違いで、配列は変数であり、リストは表記法ということらしい
リストは値が並んでいるのをリストといいます

# リスト
('a', 'b', 'c', 'd')

配列は変数なので、配列@arrayにリストの'a', 'b', 'c', 'd'を代入しているという言い方になるのでしょうか、意味的にはそんな言葉を使うのが良いのかも知れません。

# 配列への代入
my @array = ('a', 'b', 'c', 'd');

配列関係

値の表示・参照

配列の各要素には、添え字を指定することで、以下のようにしてアクセスすることができます

#直接指定することで値を表示する。ここでは$make_unionというリストに入っている[0]番目の要素を表示する
print $make_union[0];
#encode文を挟む場合は以下の様な表現となる
print encode('cp932',$make_union[0]);

配列一覧出力

forwhileで一つずつ参照して表示させても良いですが、以下のワンライナーで表示できます
要素の1つずつ改行を付けて出力します

#joinで1行毎に改行を入れて出力する
print join("\n", @make_union);
#encode文を挟む場合は以下の様な表現となる
print encode('cp932',join("\n", @make_union));

配列最後の要素を出力する

$#変数名で参照できます

#これで一番最後の配列に入っている値を表示できる
print "$array[$#_array]\n";

配列の個数を表示する

配列の個数は、左辺のスカラー変数に代入することで数でてきます。代入が無いと要素そのものが出力されます。

	my @chars = qw/z z a b c d e f/;
	
	#配列の個数のスカラー変数に代入
	my $num = @chars;
	
	#z z a b c d e fが表示される
	print "@chars\n";
	
	#要素数「8」が表示される
	print "$num\n";