配列に関するいくつかの操作について。
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件) を見る