home ホーム search 検索 -  login ログイン  | reload edit datainfo version cmd icon diff delete  | help ヘルプ

Perl/codepiece/count_array1

Perl/codepiece/count_array1

Perl / codepiece / count_array1
id: 131 所有者: msakamoto-sf    作成日: 2007-02-25 22:45:43
カテゴリ: Perl 

  • 配列の要素を数えるには何通りか有る。
  • しかし、"$#ary"は、 エディタが#以降をコメントとして色分けしてしまう。
  • というわけで、それ以外の方法にトライしてみた。
  • コードピース
#!/usr/bin/perl
use Data::Dumper;

my @ary = (1, 2, 3, 4);
print Dumper(@ary), "\n";

# 一昔前の入門書で見かけた配列サイズの取得方法。
# 正確にはサイズでなく、最後の添字を返す。
print "count = ", $#ary, "\n";

# PerlのCOP(Context Oriented Programming)を活かしたサイズの取得方法。
# Perlが勝手にスカラーに直す。このとき、Perl側で良い案配に配列サイズとして
# 評価してくれる。
$sz = @ary;
print "count = $sz\n";

print '4 > @ary = ', (4 > @ary), "\n";
print '4 == @ary = ', (4 == @ary), "\n";
print '4 < @ary = ', (4 < @ary), "\n";
print "\n";

# COPのおかげで、違和感のない見栄え。
for(my $i = 0; $i < @ary; $i++) {
	print @ary[$i], "\n";
}
print "\n";

foreach my $i (@ary) {
	print $i, "\n";
}
  • 出力
$VAR1 = 1;
$VAR2 = 2;
$VAR3 = 3;
$VAR4 = 4;

count = 3
count = 4
4 > @ary =
4 == @ary = 1
4 < @ary =

1
2
3
4

1
2
3
4

Perlのコンテキスト判別のおかげで、エディタにとっても優しい書き方ができた。



プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2008-12-28 22:46:37
md5:4d119fdc18c8a37d58867c4b7049b76f
sha1:9cd594557ef9aa3a670c3e73e8697f07ae9b09a7
コメント
コメントを投稿するにはログインして下さい。