Perl お遊び 変則的な引数の受け渡し

メモ

関数を受け取るときに見かける
    my $code = shift;
これが何をしているのか知らずに使っていたが、少し分かったような気がする。

関数呼び出し時に無名の配列に引数を追加し、呼び出し先で shift で取り出していただけっぽい。
取り出しているだけなので pop でも良い。(使うことはないだろうが)
無理に pop を活用してみたプログラムが以下。"a123z" を出力する。

お遊び

my @middle = ("1", "2", "3");
test("a", @middle, "z");

sub test() {
    my $first = shift;
    my $last  = pop;
    my @middle = @_;

    print $first;
    foreach (@middle) {
        print $_;
    }
    print $last;
}

  • 最終更新:2013-06-09 18:21:38

このWIKIを編集するにはパスワード入力が必要です

認証パスワード