複素数の定数は {< real> ,< imag> } と表現します。ここで < real> と < imag> (実部、虚部) は数値定数である必要があります。例えば {3,2} は 3 + 2i を あらわし、{0,1} は 'i' 自身を表します。これらには明示的に中カッコを使 う必要があります。
gnuplot は "実数" と "整数" 演算を FORTRAN や C のように扱うということ に注意してください。"1", "-10" などは整数と見なされ、"1.0", "-10.0", "1e1", 3.5e-1 などは実数と見なされます。 これら 2 つのもっとも重要な違 いは割算です。整数の割算は切り捨てられます: 5/2 = 2。実数はそうではあ りません: 5.0/2.0 = 2.5。それらが混在した式の場合、計算の前に整数は実 数に "拡張" されます: 5/2e0 = 2.5。負の整数を正の整数で割る場合、その 値はコンパイラによって変わります。"print -5/2" として、あなたのシステ ムが -2 と -3 のどちらを答えとするかを確認してください。
数式 "1/0" は "未定義値 (undefined)" フラグを生成し、それによりその点 は無視されます。ternary 演算子 (三項演算子) の項にその例があります。 または、あらかじめ定義されている値 NaN を使っても同じことになります。
複素数表現の実数部分、虚数部分は、どんな形で入力されても常に実数です: {3,2} の "3" と "2" は実数であり、整数ではありません。
gnuplot は文字列に対する単純な演算、および文字列変数も利用できます。例 えば式 ("A" . "B" eq "AB") は真と評価されますが、これは文字列の結合演 算子と文字列の等号演算子を意味しています。
数としての値を含む文字列は、それが数式で利用された場合は、対応する整数 や実数に変換されます。よって、("3" + "4" == 7) や (6.78 == "6.78") は どちらも真になります。整数は、それが文字列結合演算子で使われた場合は文 字列に変換されますが、実数や複素数はダメです。典型的な例は、ファイル名 や他の文字列内に整数を使う場合でしょう: 例えば ("file" . 4 eq "file4") は真です。
後置指定する範囲記述子 [beg:end] によって、部分文字列を指定することが
できます。例えば、"ABCDEF"[3:4] == "CD" で、"ABCDEF"[4:*] == "DEF" で
す。書式 "string"[beg:end] は、文字列値の組み込み関数
substr("strings",beg,end) を呼ぶこととほぼ同じですが、関数呼び出しでは
beg, end は省略することはできません。