【perl】push関数〜配列の一番最後に要素を追加する〜
最近、疲れてきたのか、いつの間にか変なことをしています。今日なんか、自動販売機でお水を買おうと思ったのに、なぜか隣のボタンを押してしまっていて炭酸ジュースが出てくるなんてことが。一瞬びっくりした。お水のボタンを押したはずなのに、なぜ炭酸ジュースが出てくるの?、と頭がしばし混乱。おかげで、電車を一本乗りそびれてしまい、6時出社の予定が6時半出社になってしまいましたよ。
ま、そんなことはどーでもよくて、今日も元気にミーティングをこなしつつperlの基礎勉強を行いました。まずは、pop関数のお勉強成果から。
#! /usr/bin/perl use strict; use warnings; my @array = (54,456,7,27,4222); my $array_nunber = @array; print "\@arrayの一番最後の添え字と要素数を把握しましょう。\n"; print "$#array\n"; #出力結果 => 4 =>一番最後の添え字は4 print "$array_nunber\n\n"; #出力結果 => 5 =>要素数は5個 #push関数で配列の最後に要素を付け加えてみる。 print "push関数で\@arrayの最後に要素を追加しましょう。\n"; print push(@array,'LAST')."\n"; #出力結果 => 6 =>「.」(文字列連結演算子)を使うと、@arrayが配列ではなくスカラーと評価されて要素の数が帰ってくる。 push(@array,'first'); print "@array\n"; #出力結果 => 54 456 7 27 4222 LAST first print $array[$#array]."\n"; #出力結果 => first =>確かに一番最後に入ってる print "$#array\n"; #出力結果 => 6 =>一番最後の要素の添え字もちゃんと増えてる print "\n"; #下記のように一番最後の添え字を調べてから追加するのもあり。→push関数だと、一番最後の添え字や要素の数を知らなくても追加できる。 $array[7] = 'Rain'; print "@array\n"; #◎空の配列に要素をpush関数で追加 print "\n◎空の配列に要素をpush関数で追加\n"; my @array1 = (); #空の配列を作成 push (@array1, 'happy'); print "@array1\n"; #@array1の要素を返す => 出力結果 => happy #◎push関数で複数の要素を同時に追加する =head push (@array1,'34','7568','1453','hello'); push (@array1,'34,7568,1453,hello'); =cut push (@array1,qw(34 7568 1453 hello)); #上記のheadとcutで囲まれているpushの書き方でも要素を追加できました。 #しかし、push (@array1,34,7568,1453,hello);だと、(「''」がないと)エラーになるよ print "@array1\n"; #出力結果 => happy 34 7568 1453 hello #◎push関数で配列を追加する my @array2 = qw(NEXT pink bule); push (@array1,@array2); print "@array1\n"; #出力結果 => happy 34 7568 1453 hello NEXT pink bule
まとめは以下。
(1)公式→push (@配列名,'追加したい要素'); '追加したい要素'には、以下の場合も可能 ・複数の要素を同時に追加する(書き方は以下のような方法がある。) 例1)push (@array,qw(a b c )); 例2)push (@array,'a','b','c'); 例3)push (@array,'a b c'); ・配列を追加する 例)push (@array,@array1); →配列arrayに配列array1の要素を追加する