66.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"

(何度も最後の行を繰り返してみてください !)

if と reread を使ってループを構成する例は、以下参照: reread (78)

竹野茂治@新潟工科大学
2012年3月10日