为了账号安全,请及时绑定邮箱和手机立即绑定

用于 Python 内置函数 `all` 和 `any` 的 Perl 挂件

用于 Python 内置函数 `all` 和 `any` 的 Perl 挂件

叮当猫咪 2021-06-20 12:21:07
是否有Perl的功能,像Python函数的工作all还是any?我想确定(无循环)是否所有错误消息都defined and ne ""在以下结构中:$VAR1 = [{  'row' => [{      err_msg => "msg1",      a => "a1",      b => "b1"    },    {      err_msg => "msg2",      a => "a2",      b => "b2"    }]},{  'row' => [{      err_msg => "msg3",      a => "a3",      b => "b3"    },    {      err_msg => "msg4",      a => "a4",      b => "b4"    }]}]
查看完整描述

1 回答

?
互换的青春

TA贡献1797条经验 获得超6个赞

在不循环的情况下执行检查是不可能的,但您确实可以使用它all来执行此操作。


use List::Util qw( all );


my $ok =

   all {

      all { $_->{err_msg} }

         @{ $_->{row} }

   }

      @$VAR1;

或者


use List::Util qw( all );


my $ok =

   all { $_->{err_msg} }

      map { @{ $_->{row} } }

         @$VAR1;

第一个版本效率更高,因为它只在所有之前的组都检查正常时才查看一个组,而第二个版本无条件地对每个组都有效。不过,这种差异不太可能重要。


查看完整回答
反对 回复 2021-06-22
  • 1 回答
  • 0 关注
  • 85 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信