配列に関するいくつかの操作について。
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++がそうとうわかりやすい。

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