Perl/Perlの基礎知識

Perl の配列の使い方(2ページ目)

Perl の変数の形式の一つ、配列の使い方を覚えます。

井上 みやび子

執筆者:井上 みやび子

Perlガイド

配列の使いどころ

さてでも、ここまでのプログラムのように個別に配列に値を代入してると、あまり配列を使うメリットがありませんね。どんな時に配列を使えばいいのでしょうか?

配列の並べ替えを行う

配列の一つの使いどころは、配列に代入した値を「並べ替える」という魔法が使える点です。下記のサンプルプログラムを見て下さい。
# Perl の配列の扱いを覚えるためのプログラム
# 配列で使える便利な機能を使う: sort

use strict;
use warnings;
use utf8;
binmode STDOUT, 'encoding(utf8)'; #Windows の場合は utf8 -> cp932

my @hairetu;
$hairetu[0] = 'たろう';
$hairetu[1] = 'はなこ';
$hairetu[2] = 'じろう';

print "sort 前: $hairetu[0],$hairetu[1],$hairetu[2]\n";

#並べ替えの魔法、sort !
@hairetu = sort @hairetu;
print "sort 後: $hairetu[0],$hairetu[1],$hairetu[2]\n";
出力は以下のようになります。50音順に並べ替えされていますね(※1)。
sort 前: たろう,はなこ,じろう
sort 後: じろう,たろう,はなこ
※1 実際は、「文字コードの順に」並べ替えが行われています。

配列の各要素で処理を繰り返す

配列のもう使いどころは、一つの配列に代入された値全てについて、同じ処理を簡単に行える点です。
例えば先のサンプルプログラムでは
print "sort 前: $hairetu[0],$hairetu[1],$hairetu[2]\n";
と書いていました。

配列の要素数が3つならこれで構いませんが、50個にもなったらいちいち $hairetu[3],$hairetu[4],... $hairetu[49] と書いていくのは面倒ですよね。

配列の場合、実はもう少し楽な書き方が可能です。
# Perl の配列の扱いを覚えるためのプログラム
#「for 文」を使って楽をする

use strict;
use warnings;
use utf8;
binmode STDOUT, 'encoding(utf8)'; #Windows の場合は utf8 -> cp932

my @hairetu;
$hairetu[0] = 'たろう';
$hairetu[1] = 'はなこ';
$hairetu[2] = 'じろう';

print "sort 前: ";
for my $youso (@hairetu){
print "$youso,";
}
print "\n"; #並べ替えの魔法、sort ! @hairetu = sort @hairetu; print "sort 後: "; for my $youso (@hairetu){
print "$youso,";
}
print "\n";
このプログラムの出力は以下の通りです。
sort 前: たろう,はなこ,じろう,
sort 後: じろう,たろう,はなこ,
毎回 $hairetu[0],$hairetu[1],... と書いていませんが、配列の内容が出力できていますね。

この書き方を「for 文」と呼びます。

>次は: 「for」を使った構文
  • 前のページへ
  • 1
  • 2
  • 3
  • 4
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます