unshift関数:配列の先頭に要素を追加する

Perl で用意されている組み込み関数の一つである unshift 関数の使い方です。 unshift 関数は対象となる配列の先頭に要素を追加します。

(Last modified: )

unshift関数の書式と基本的な使い方

unshift 関数は次のように定義されています。

unshift
unshift(ARRAY, LIST)
配列の先頭にリストを追加します。

パラメータ:
  ARRAY  対象の配列
  LIST  追加するリスト
戻り値:
  リストを追加後の配列の要素数

1 番目の引数には対象となる配列が格納された配列変数を指定します。 2 番目の引数には追加する単独の要素、又はリストを指定します。

具体的には次のように記述します。

my @city = ("東京", "大阪");

unshift(@city, "名古屋");
unshift(@city, ("札幌", "福岡"));

配列の先頭に "名古屋" を追加したあと、配列の先頭に順に "札幌", "福岡" を追加します。結果として配列の各要素には "札幌", "福岡", "名古屋", "東京", "大阪" が格納されます。

サンプルコード

それでは簡単なサンプルを作成します。

use strict;
use warnings;
use utf8;
binmode STDIN, ':encoding(cp932)';
binmode STDOUT, ':encoding(cp932)';
binmode STDERR, ':encoding(cp932)';

my @pref = ("東京都", "大阪府");
unshift(@pref, "愛知県");
unshift(@pref, ("北海道", "福岡県"));

for (my $i = 0; $i <= $#pref; $i++){
  print "$pref[$i]\n";
}

テキストエディタでプログラムを記述したあと sample.pl という名前で保存します。(文字コードは UTF-8 です)。コマンドプロンプトを起動し、プログラムを保存したディレクトリへ移動したあとで次のように実行します。

perl sample.pl

次のように実行結果が表示されます。

unshift関数:配列の先頭に要素を追加する(1)

unshift 関数を使って、最初に "愛知県" を配列の先頭に追加し、そのあとリストを使って "北海道" と "福岡県" を配列の先頭に追加しました。

-- --

Perl で用意されている組み込み関数の一つである unshift 関数の使い方について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。