Hatena::ブログ(Diary)

marsonicの日記

2009-03-02

$foo = shift;ってなんだろうか?

| 17:54

perl shift(Google)

shiftについて

$foo = shift(Google)

サブルーチンで引数を受け取るときに、よく見るパターンだそうです。

下記の例は、sub1, sub2は全く同じ動作になり、sub3も@_の長さが短くなること以外は同じ。

&sub(10, 20);#このように呼び出す。

sub sub1{
	my $foo = $_[0]; #第1引数を受け取る
	my $foo = $_[1]; #第2引数を受け取る
}

sub sub2{
	my ($boo, $foo) = @_;#第1、第2引数の受け取り
}

sub sub3{
	my $foo = shift; #第1引数の受け取り
	my $foo = shift; #第2引数の受け取り
}
リンク元