| |||
if命令のパラメータが式になっていないスクリプトを見かける
| |||
|
if命令の条件指定パラメータが「A = B」や「C > D」等のような 左辺と右辺を比較していない「A」や「B + C」等の書き方をしている方がいます。 当講座でも簡略化の為にこのような書き方をしている場合もあるわけですが、 比較をしていないのは下記の法則があるからです。 条件の真偽は、比較ではなく結果で行われている。 | |||
|
コンピュータの考え方では、0の値を「偽」、0以外を「真」として扱っているようです。 何故、かはコンピュータに関する書籍でも見てください…。 上記のように定義されており、HSPの世界でも真偽は0であるのか、0以外であるのかを判定しています。 そして、if命令の条件が真であるのか偽であるのかは、 指定パラメータが0かそれ以外なのかにより制御されています。 if命令のパラメータだけでなく、その他様々な命令でも計算式をパラメータに指定できるわけですが、 if命令も含み、全命令のパラメータに計算式を指定しても、 最終的にその結果値だけがパラメータとなるわけです。 つまり、「1 + 2」は「3」となり、if命令に指定した場合は真と判定されます。 上記は定数で記述しましたが、変数にその値が入っていた場合も同じです。 同様にして、「0」と入った変数だけをif命令の条件に指定した場合は、 真の条件とはなりません。elseが設定された場合、其方に処理が流れます。 |