Chinaunix

标题: 关于函数参数传递的问题 [打印本页]

作者: red999    时间: 2007-09-07 15:14
标题: 关于函数参数传递的问题
这个问题困扰了很久。书上也没有描述。今天总算有点眉目,只是不知道想的对不对。问题如下:

进行普通的函数调用时传递的第一个参数就是调用的第一个参数。当对象与包绑定时,传递的第二个参数才是调用的第一个参数。那么传递的第一个参数是什么?感觉好像是调用者本身。

普通调用
package student;
sub new{
        my $arg = shift;
        print $arg;
}
new(33,34);

结果:33。
绑定之后调用
package student;
sub new{
        my$arg = shift;
        my$score = shift;
        my$r_score = \$score;
        print"$arg        $$r_score\n";
        bless $r_score,student;
        return $r_score;
}

$stu1 = student->new(32);
结果:student        32

[ 本帖最后由 red999 于 2007-9-7 15:18 编辑 ]
作者: nkcsx    时间: 2007-09-07 15:28
参见精华区
perl中的 " -> " 这个符号,主要用作什么




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2