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

有条件地从这个Perl循环中有条件地“最后”的方法有一个更清洁的

发布时间:2020-12-15 22:02:25 所属栏目:大数据 来源:网络整理
导读:不太了解Perl,我一直在通过友好的搜索引擎帮助Perl脚本. 我发现如果条件成立,我需要在设置一个标志的时候突破一个循环: foreach my $element (@array) { if($costlyCondition) { $flag = 1; last; }} 我知道使用“最后”的更好的方式是这样的: foreach my
不太了解Perl,我一直在通过友好的搜索引擎帮助Perl脚本.

我发现如果条件成立,我需要在设置一个标志的时候突破一个循环:

foreach my $element (@array) {
    if($costlyCondition) {
        $flag = 1;
        last;
    }
}

我知道使用“最后”的更好的方式是这样的:

foreach my $element (@array) {
    last if ($costlyCondition);
}

当然,这意味着,虽然我可以享受句法糖,但我不能把我的旗帜设置在循环中,这意味着我需要在外面再次评估$US $US $条件.

有没有更清洁的方法来做到这一点?

解决方法

你可以使用do {…}块:
do {$flag = 1; last} if $costlyCondition

你可以使用,运算符来加入语句:

$flag = 1,last if $costlyCondition;

您可以使用逻辑&&&操作符:

(($flag = 1) && last) if $costlyCondition;

甚至更低的优先级和:

(($flag = 1) and last) if $costlyCondition;

在一天结束时,没有任何真正的理由去做任何这些.它们都与原始代码完全相同.如果您的原始代码可行,并且清晰可见,请保留原样.

(编辑:李大同)

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

    推荐文章
      热点阅读