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