perl – 捕捉“for loop到达最后一个元素”的优雅方式?

perl – 捕捉“for loop到达最后一个元素”的优雅方式?,第1张

概述有时在Perl中,我编写了一个for / foreach循环,它迭代值以检查列表中的值.在第一次击中之后,循环可以退出,因为我们已经满足了我的测试条件.例如,这个简单的代码: my @animals = qw/cat dog horse/;foreach my $animal (@animals){ if ($input eq $animal) { print "Ah, ye 有时在Perl中,我编写了一个for / foreach循环,它迭代值以检查列表中的值.在第一次击中之后,循环可以退出,因为我们已经满足了我的测试条件.例如,这个简单的代码:

my @animals = qw/cat dog horse/;foreach my $animal (@animals){  if ($input eq $animal)  {    print "Ah,yes,an $input is an animal!\n";    last;  }}# <-----

是否有一种优雅的方式 – 可能是一个重载的关键字 – 来处理“for循环到达最后一个元素”?什么东西放在上面的箭头?

我可以想办法做到这一点,比如创建/设置一个额外的$found变量并在最后测试它……但是我希望Perl可能还有其他内置的东西,比如:

foreach my $animal (@animals){  if ($input eq $animal)  {    print "Ah,an $input is an animal!\n";    last;  }} finally {  print "Sorry,I'm not sure if $input is an animal or not\n";}

这将使这个测试更直观.

解决方法 您可以使用带标签的块包装循环,如下所示:

outer: {    foreach my $animal (@animals) {        if ($input eq $animal) {            print "Ah,an $input is an animal!\n";            last outer;        }    }    print "no animal found\n";}
总结

以上是内存溢出为你收集整理的perl – 捕捉“for loop到达最后一个元素”的优雅方式?全部内容,希望文章能够帮你解决perl – 捕捉“for loop到达最后一个元素”的优雅方式?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1262989.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存