为了账号安全,请及时绑定邮箱和手机立即绑定

perl数组和整数直接做加减法是什么意思

perl数组和整数直接做加减法是什么意思

繁星淼淼 2019-04-12 11:06:18
求教以下这段代码是什么意思:my @mantra = qw(Simple things are simple.);my @other_mantra = qw(Complex things are possible!);my $mantra_gradient = 255/(@mantra + @other_mantra - 1); 直接把两个数组和整数之间做加减法,是什么意思?上面@mantra + @other_mantra - 1的值是7吗?两个数组如果直接做加法的话,是在算这两个数组的元素个数之和吗?
查看完整描述

3 回答

?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

这个问题专业术语就是: perl中的上下文(context)的问题。perl中分 列表上下文 和 标量上下文 2种。perl会根据上下文的种类来得到相应的值。
比如:数组在 列表上下文中得到元素的列表, print "@num\n" ;得到一系列数字。而 在标量上下文, 比如 单独赋值或者 数学运算加减等情况下就是标量上下文, perl返回数组的元素的个数!比如: $len_of_nums = @nums; 或者你上面的例子。

查看完整回答
反对 回复 2019-04-13
?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

@array_copy = @mantra;
($first_element_of_array) = @mantra; (# shift @mantra)
$number_of_element = @mantra; (# scalar @mantra)

查看完整回答
反对 回复 2019-04-13
?
慕标琳琳

TA贡献1830条经验 获得超9个赞

将数组作为标量计算,就返回数组中元素个数
在本例中$mantra_gradient =255/(4+4-1)=36.428571……
如果初学 可看看 perl语言入门 这个问题在P61页

查看完整回答
反对 回复 2019-04-13
  • 3 回答
  • 0 关注
  • 886 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信