82.1 If-old

gnuplot バージョン 4.4 までは、if/else コマンドの通用範囲は 1 行内に留 まっていましたが、現在は複数行を中カッコ { } で囲んで書くことができま す。古い形式も一応残されていますが、それは中カッコのブロック内で使うこ とはできません。

キーワード if"{" をともなわない場合は、<条件> が真 (ゼロでない) ならば <コマンド行> のコマンド (複数も可) が実行され、偽 (ゼロ) ならば スキップされます。いずれの場合も入力行の最後になるか、else が現れる ところまでそれが行われます。; を使うと同じ行に複数のコマンド置くこと が可能ですが、条件付きのコマンド (if の構文自体) はそこでは終らない ことに注意してください。

例:

     pi=3
     if (pi!=acos(-1)) print "?Fixing pi!"; pi=acos(-1); print pi

を実行すると、
     ?Fixing pi!
     3.14159265358979

と表示されますが、
     if (1==2) print "Never see this"; print "Or this either"

とすると、何も表示されません。

その他:

     v=0
     v=v+1; if (v%2) print "2" ; else if (v%3) print "3" ; else print "fred"

(何度も最後の行を繰り返してみてください !)
竹野茂治@新潟工科大学
2020-12-08