第3章 リストと配列 その2 配列の操作

配列に関するいくつかの操作について。

popとpushで、末尾のデータを追加したり、取り出したりすることで、配列をスタックとして使えます。

@books = ('AWDwR', 'henna_kaisha', 'K&R', 'LearnigPerl');

print "@books\n"; # AWDwR henna_kaisha K&R LearnigPerl

# 一番上のLearningPerlをどけて、代わりにARIAを置く
$poped = pop(@books);
push(@books, 'ARIA'); 

print "$poped\n"; # LearningPerl
print "@books\n"; # AWDwR henna_kaisha K&R ARIA

先頭のデータを追加したり、取り出したりするのには、unshiftとshiftです。

@books = ('AWDwR', 'henna_kaisha', 'K&R', 'LearnigPerl');

print "@books\n"; # AWDwR henna_kaisha K&R LearnigPerl

# AWDwRを抜き出して、かわりにARIAを差し込む
$poped = shift(@books);
unshift(@books, 'ARIA'); 

print "$poped\n"; # AWDwR
print "@books\n"; # ARIA henna_kaisha K&R LearnigPerl

配列を並び替えるときには、reverseとsortが使えます。

@members = ('haruhi', 'mikuru', 'yuki', 'itsuki', 'kyon');

# 逆順
@reversed = reverse @members;
print "@reversed\n";  # kyon itsuki yuki mikuru haruhi

# 並び替え
@sorted = sort @members;
print "@sorted\n";    # haruhi itsuki kyon mikuru yuki

どちらも、新しい配列を返します。(もとの配列は変更されない。) sortはASCIIコード順に配列をソートします。数値も文字列に変換されてソートされます。つまり、数値をソートしても、

@numbers = sort (98 .. 102);
print "@numbers\n";
# 100 101 102 98 99

こんな風になります。

以上、配列操作いろいろ。ここでやったのが、RubyやらPythonやらJavaScriptだとどうなんの?と気になるところです。そこは有名な記事である、配列操作の比較表: Ruby, Python, JavaScript, Perl, C++がそうとうわかりやすい。

初めてのPerl

初めてのPerl

  • 作者: ランダル・L.シュワルツ,トムフェニックス,Randal L. Schwartz,Tom Phoenix,近藤嘉雪
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2003/05
  • メディア: 単行本
  • 購入: 15人 クリック: 474回
  • この商品を含むブログ (294件) を見る