gpt4 book ai didi

perl - 在 Perl 中使用带有 while 循环的 continue block 有优势吗?

转载 作者:行者123 更新时间:2023-12-04 18:22:13 27 4
gpt4 key购买 nike

语法 1:

while {
#some code
}
continue {
#some other code
}

语法 2:
while {
#some code
#some other code
}

SYNTAX 1 比 SYNTAX 2 有什么优势吗?假设“一些代码”和“一些其他代码”在两种语法中保持相同的行集。或者它只是两种不同的风格,没有编码优势。

最佳答案

continue当您调用 next 时执行 block 从循环的中间开始,因此它提供了一种在迭代之间执行一些公共(public)代码的方法,而不管每次迭代的执行路径如何。

比较

my $last_item;
for my $item (@list) {
if ($last_item eq $item) {
do_something();
$last_item = $item;
next;
}

if (condition2($item,$last_item)) {
$last_item = $item;
next;
}

do_something_else();
$last_item = $item;
}


my $last_item;
for my $item (@list) {
if ($last_item eq $item) {
do_something();
next;
}

if (condition2($item,$last_item)) {
next;
}

do_something_else();
} continue {
$last_item = $item;
}
continue 的一些示例在野外:

HTTP::Cookies

PPIx::Regexp::Node

PDL::Core

关于perl - 在 Perl 中使用带有 while 循环的 continue block 有优势吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46471749/

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