Perl:而没有条件
发布时间:2020-12-15 21:26:47 所属栏目:大数据 来源:网络整理
导读:根据 doc,while语句执行块,只要表达式是 true.我不知道为什么它成为一个空的表达式的无限循环: while () { # infinite loop ...} 它只是在文档中的不准确? 解决方法 $ perl -MO=Deparse -e 'while () { }'while (1) { ();}-e syntax OK 看来while(){}和w
根据
doc,while语句执行块,只要表达式是
true.我不知道为什么它成为一个空的表达式的无限循环:
while () { # infinite loop ... } 它只是在文档中的不准确? 解决方法$ perl -MO=Deparse -e 'while () { }' while (1) { (); } -e syntax OK 看来while(){}和while(1){}是等价的。还要注意,空的括号*被插入空块。 预定义编译器行为的另一个示例: $ perl -MO=Deparse -e 'while (<>) { }' while (defined($_ = <ARGV>)) { (); } -e syntax OK 我会说,这只是文档不报告一个特殊情况。 * – 确切地说,插入存根操作码。它什么都不做,但服务goto目标为enterloop操作码。没有真正的理由注意到这一点。 Deparse表示使用空括号的这个存根操作,因为括号不生成代码。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |