$#$ 在perl里是什么意思?
$allitems=[];$item=shift(@ARGV);push(@$allitems,$item);$itemkeys=[];$#$itemkeys=$#$al...
$allitems = [];
$item = shift(@ARGV);
push(@$allitems, $item);
$itemkeys = [];
$#$itemkeys = $#$allitems;
程序如上,不理解最后一句话是什么意思。
还有,per文档里说 $# - The output format for printed numbers. Deprecated。不理解什么意思。
两个问题,有满意的答案立刻采纳加分 展开
$item = shift(@ARGV);
push(@$allitems, $item);
$itemkeys = [];
$#$itemkeys = $#$allitems;
程序如上,不理解最后一句话是什么意思。
还有,per文档里说 $# - The output format for printed numbers. Deprecated。不理解什么意思。
两个问题,有满意的答案立刻采纳加分 展开
展开全部
"...不理解最后一句话是什么意思" <--你连前面的也没理解;不是我打击你,大兄弟~~
$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 则是每个人的写法很有可能出乎你意料之外的....
如果你只是想看懂某段程序怎么实现某种功能的,这个以你自己之力,可能性不大;你拿上全部原程序找专业人士帮忙~~
希望以上对你有帮助, 祝好~~
$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 则是每个人的写法很有可能出乎你意料之外的....
如果你只是想看懂某段程序怎么实现某种功能的,这个以你自己之力,可能性不大;你拿上全部原程序找专业人士帮忙~~
希望以上对你有帮助, 祝好~~
更多追问追答
追问
谢谢深入的解释,我在一份手册上找到的注释是
“$#var - last index of array @var.”
那么$#$allitems 就是n了,但是“ $#$itemkeys = $#$allitems; ” 作何解释呢?
atmystate的解释是“将$allitem看成数组得到的数组长度用于初始化$itemkeys引用的数组长度” 。那是不是说以n为长度来初始化$itemkeys?
追答
"...以n为长度来初始化$itemkeys**数组长度**" <--理解完全正确
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询