これは一般的なコード例です。なぜPerlは-1が真だと思いますか?
while (1) {
print "foo\n";
}
これは 'foo'を永遠に印刷します。
perl foo.pl
foo
foo
foo
...
と
while (0) { print "foo\n"; }
期待どおりに静かに死ぬ:
perl test.pl
誰かがなぜこの便利な実装だと説明することができますか?これは5.10以上で動作します。UnixとMacOS X:
while (-1) { print "foo\n"; }
foo
foo
foo
...
「-1」は多くの言語で真の値とみなされます。 – Quentin
Perlでは0が偽です。偽でないものはすべて真です。 –
私はこの質問につながったのは興味があります。 -1と誤っている言語はありますか? – ikegami