forループは必ず一回は評価される。そう考えていた時期がありました…ついさっきまで!!

No Comments

PHPのコード確認をしてたところ、妙なforループを発見。
自分でもテストコードを書いてみて驚いた。

「PHPはforの条件式が満たされないと、ループ0回というのがおきるんだ!!」

ところが、逆に周りの人間から驚いた顔をされてしまった。

「Javaでもそれが普通ですけど」
「え…forって必ず一回は評価されてしまうのが普通じゃないの?」

調べてみると、どの言語でもforループはループ前に判定式を評価するので判定式が成り立たない場合はループが起こらない…

C#とかで、そういう文法の記述を見たとき「きもちわるいなぁ」と思っていたけど「気持ち悪かったのは俺だったんだ!」 状態。
とほほ~
(VCでも確認しちゃったよ、評価されなかったよ…)

なんてこったい。
どうやら自分はMS BASICの頃の知識を25年もずっと引きずってきてたようだ。
ブンポウッテジュウヨウダヨネー

(XM7でFORが必ず評価されるのを確認しましたよ、ええ)

10 FOR I=1 TO 0
20 PRINT I
30 NEXT

RUN
1

※評価プログラムが何の評価もしていないミスがあったので修正しました。
※さらに追記:PC98エミュじゃ評価されなかったよ…え、ホントに8bitの古いBASICだけ…

Leave a Reply

*