加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

数组 – 如果没有给出命令行参数,如何使用默认数组?

发布时间:2020-12-15 21:50:23 所属栏目:大数据 来源:网络整理
导读:如果没有给出命令行参数,下面似乎可以正常工作,但是当它们全部得到的时候是提供的参数数量,而不是参数本身.似乎@ARGV被||强制标量.我也试过使用or和//得到类似的结果.这里使用的运算符是什么? say for @ARGV || qw/one two three/; 解决方法 || operator根
如果没有给出命令行参数,下面似乎可以正常工作,但是当它们全部得到的时候是提供的参数数量,而不是参数本身.似乎@ARGV被||强制标量.我也试过使用or和//得到类似的结果.这里使用的运算符是什么?
say for @ARGV || qw/one two three/;

解决方法

|| operator根据其所做的性质强加了标量上下文

Binary "or" returns the logical disjunction of the two surrounding expressions. It’s equivalent to || except for the very low precedence.

(强调我的).因此,当它的左侧操作数是一个数组时,它获得数组的长度.

但是,如果该值为0,则仅评估右侧

This means that it short-circuits: the right expression is evaluated only if the left expression is false.

什么是C-Style Logical Or in perlop年的拼写

Scalar or list context propagates down to the right operand if it is evaluated.

所以你得到那个案子的清单.

没有任何运算符可以执行您的陈述所需的内容.最近的可能是

say for (@ARGV ? @ARGV : qw(one two));

但是有更好,更系统的方式来处理@ARGV.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读