perl如何傳遞數組參數shift應用
:在類別中建立新物件的new()方法
:
:sub new{
: my $class=shift;
: my $self={};
: bless $self;
: }
:中 my $class=shift 是何意義?
shift 的意思就是把整個 array 的第一個 value 取出,并將 array 長度減一(有點像 pop out)
也就是說 sub new 是傳一串值進入
然后 my $class 會被 assign 最前面的那個傳入值..
eg (from perlfunc manpage)
sub log10 {
my $n = shift;
return log($n)/log(10);
}
那在用的時候就可以用 log10(10) or log10(200)...
:
:sub new{
: my $class=shift;
: my $self={};
: bless $self;
: }
:中 my $class=shift 是何意義?
shift 的意思就是把整個 array 的第一個 value 取出,并將 array 長度減一(有點像 pop out)
也就是說 sub new 是傳一串值進入
然后 my $class 會被 assign 最前面的那個傳入值..
eg (from perlfunc manpage)
sub log10 {
my $n = shift;
return log($n)/log(10);
}
那在用的時候就可以用 log10(10) or log10(200)...