Perl && do {last; };

rub*_*buc 2 perl for-loop

在我的书中它使用了这样的东西:

for($ARGV[0])
{
Expression && do { print "..."; last; };
...
}
Run Code Online (Sandbox Code Playgroud)

不是for-loop不完整吗?此外,它有什么意义do,它不可能只是{ ... },或者它在do这里有一些重要性吗?

Kei*_*son 6

forPerl中有两种形式的语句.你在这里看到的那个经常写成foreach,但是for并且foreach是同义词.它通常遍历列表,设置$_为每个元素.在这种情况下,"列表"是一个值,所以它有设定的效果$_$ARGV[0]的循环体.

do需要,使所述块{ ... }到表达,所以它可以是所述的操作数&&操作.(如果省略这个词,请看看会发生什么do.)

(你错过了一个分号;我已经编辑了这个问题以解决这个问题.)