$#$ 在perl里是什么意思?

2024-11-16 20:25:54
推荐回答(2个)
回答(1):

"...不理解最后一句话是什么意思" <--你连前面的也没理解;不是我打击你,大兄弟~~

$allitems = []; #这个是数组参量(Array reference), 不是标量;有点像C里的指针,但不完全是
@$allitems #把刚才的参量解参还原为数组....

当然,数组你明白,其顺序排号 (index) 从 0 开始:0 1 2 3 4.....n
$#$allitems 也就是 @$allitems 这个解参了的数组里最后之一项的排号数目 (即 n)

所以,$#这个时候不能拿出来单独理解;希望你明白了....

$# - The output format for printed numbers. Deprecated 这个 $# 是 peRl 在打印报表 (Report)时,控制数字打印格式的一种,现在已经不再使用了,所谓:Deprecated
===================================
我奉劝你一句:如果你是打算学习 Perl, 买本小骆驼书 (Learning Perl, 封面是个小骆驼); 扎实地从头学起,把每一个符号和公式都弄懂.... Perl 的魅力绝对不是 VB/Java 所能比拟的--后者,比如,如果你学会了条件语句,所有的条件语句都长一个样;Perl 则是每个人的写法很有可能出乎你意料之外的....

如果你只是想看懂某段程序怎么实现某种功能的,这个以你自己之力,可能性不大;你拿上全部原程序找专业人士帮忙~~

希望以上对你有帮助, 祝好~~

回答(2):

@m=([1,2,3],[1,2,3,4]);
$#$将引用看成数组然后求数组长度,作用与数组的$#意义是一样的$#m
$#$m[0]就是2,$#$m[1]就是3
最后一句的意思就是将$allitem看成数组得到的数组长度用于初始化$itemkeys引用的数组长度