gpt4 book ai didi

perl - 范围运算符;翻转但防止翻转,并立即翻转

转载 作者:行者123 更新时间:2023-12-04 14:44:56 24 4
gpt4 key购买 nike

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/替代品。

最佳答案

  • 任何不是常量折叠为数字的错误表达式都可以。
    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'
  • 如果你想要某个东西的 bool 相反,请使用否定!
    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'
  • 关于perl - 范围运算符;翻转但防止翻转,并立即翻转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24039700/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com