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

perl – 为什么smartmatch会根据操作数的顺序返回不同的值?

发布时间:2020-12-15 22:00:56 所属栏目:大数据 来源:网络整理
导读:我有一个数组,以下测试返回true: 1 ~~ @a 但是,以下测试返回false: @a ~~ 1 我在Learning Perl中阅读了在smartmatch操作符的任一侧放置值并不重要,但显然在上述代码中.这是为什么?两个语句是否检查不同的事情? 解决方法 除了其他答案,the list of Perl 5
我有一个数组,以下测试返回true:
1 ~~ @a

但是,以下测试返回false:

@a ~~ 1

我在Learning Perl中阅读了在smartmatch操作符的任一侧放置值并不重要,但显然在上述代码中.这是为什么?两个语句是否检查不同的事情?

解决方法

除了其他答案,the list of Perl 5.10.1 changes还有一个关于??操作符更改的部分:

The smart match operator ~~ is no longer commutative. The behaviour of a smart match now depends primarily on the type of its right hand argument.

所以学习Perl在这些变化之前可能是正确的.

(编辑:李大同)

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

    推荐文章
      热点阅读