范围运算符;翻转但防止失败,并立即翻转

mpapec
perl -wle 'print join " ", grep /3/ .. undef(), 1..10'

输出 3 4 5 6 7 8 9 10

Q1:有比undef防止失败更好的方法吗?

Q2:如何强制范围运算符的左侧部分变为无条件true(即true .. /7/)?

更新:

perl -wE 'say join " ", grep { ((/7/ .. undef)||1) ==1 } 1..10'

可以用作true .. /7/替代品。

池上
  1. 任何不固定折叠成数字的错误表达式都可以。

    perl -wE'say join " ", grep $_==3 .. undef, 1..10'
    
    perl -wE'say join " ", grep $_==3 .. do{0}, 1..10'
    
    perl -wE'say our $FALSE; say join " ", grep $_==3 .. $FALSE, 1..10'
    

    没有触发器。

    perl -wE'my $ok; say join " ", grep $ok ||= $_==3, 1..10'
    
  2. 如果您想要布尔值的反义词,请使用否定!

    perl -wE'say join " ", grep !($_==8 .. undef), 1..10'
    

    没有触发器。

    perl -wE'my $done; say join " ", grep !($done ||= $_==8), 1..10'
    

    好的,所以我更改78要实际匹配7

    perl -wE'my $last; say join " ", grep { my $x = ($_==7 .. undef); !$x || $x == 1 } 1..10'
    

    没有触发器。

    perl -wE'my $done; say join " ", grep { my $rv = $done; $done ||= $_==7; !$rv } 1..10'
    

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

<$运算符的翻转版本

来自分类Dev

<$运算符的翻转版本

来自分类Dev

Python Wals运算符在范围内失败

来自分类Dev

PHP运算符失败

来自分类Dev

PHP运算符失败

来自分类Dev

在隐式类运算符中防止值超出范围的合适方法是什么?

来自分类Dev

运算符重载失败,运算符[]并将运算符强制转换为int

来自分类Dev

翻转范围/滑块输入html

来自分类Dev

翻转范围/滑块输入html

来自分类Dev

范围翻转卡片功能-Jquery

来自分类Dev

多态“翻转”在7.10中失败

来自分类Dev

PowerShell中的可变范围运算符

来自分类Dev

循环和范围运算符的基准

来自分类Dev

F#跳过范围运算符

来自分类Dev

为什么“ is”运算符的if范围比if更长?

来自分类Dev

C ++新的运算符范围

来自分类Dev

范围解析运算符语义

来自分类Dev

循环和范围运算符的基准

来自分类Dev

isalnum的范围解析运算符

来自分类Dev

对象的范围解析运算符

来自分类Dev

如何限制文字运算符的范围

来自分类Dev

范围解析运算符angularjs

来自分类Dev

C ++中的运算符重载失败

来自分类Dev

三元运算符失败

来自分类Dev

Qt C ++模运算符失败

来自分类Dev

JS <(小于)运算符失败

来自分类Dev

struct Equality运算符立即窗口怪异行为

来自分类Dev

struct Equality运算符立即窗口怪异行为

来自分类Dev

当复制elison失败时,是否有办法防止移动构造函数后跟移动分配运算符?