在Perl中,是否可以任意结束map执行,例如last在循环中等效的东西?
它有点像这样:
map {
if (test == true) { last; } dosomething
} @myarray
Run Code Online (Sandbox Code Playgroud)
Zai*_*aid 19
不.你不能last,next等等map,grep或sort阻止因为它们不是循环.
话虽如此,问题中的代码片段是不好的做法,因为map永远不应该在void上下文中调用.它们应该用于将一个列表转换为另一个列表.
如果你真的必须内联它(在ysth的评论之后修改),这是一个更好的编写方式:
$_ == 10 && last, print for 1..15; # prints '123456789'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1792 次 |
| 最近记录: |