24 Call

call コマンドは、1 つの機能以外は load コマンドと等価です。 その機能は、10 個までのパラメータをコマンドに追加できることです (パラメータは標準的な構文規則によって区切られます)。これらのパラメータ は、ファイルから読まれる行に代入することができます。call した入力 ファイルから各行が読まれる時に、$ (ドル記号) に続く数字 (0-9) の並 びを走査します。もし見つかれば、その並びは call のコマンド行の対応す るパラメータで置き換えられます。call の行でそのパラメータが文字列と して指定されているならば、取り囲んでいる引用符が省かれて代入されます。 文字列 $# はパラメータの個数に置き換えられます。文字が後に続く $ はその文字になります。例えば、一つの $ を得るには $$ を使います。 call のコマンド行に 10 個より多いパラメータを与えるとエラーが起こり ます。与えられなかったパラメータは、何も無しとして扱われます。call 中のファイルの中にさらに load または call コマンドがあっても構いま せん。

call コマンドは、複数のコマンドからなる行の中では最後のコマンドでな ければなりません。

書式:

       call "<入力ファイル>" <パラメータ 0> <パ 1> ... <パ 9>

入力ファイル名は引用符で囲まなければなりません。そして、パラメータも 引用符で囲むことを推奨します (gnuplot の将来のバージョンでは引用符で 囲んである部分と囲んでない部分に対しては違う取り扱いをする予定です)。

例:

ファイル 'calltest.gp' は以下の行を含んでいるとすると:

   print "argc=$# p0=$0 p1=$1 p2=$2 p3=$3 p4=$4 p5=$5 p6=$6 p7=x$7x"

次の行を入力すると:

   call 'calltest.gp' "abcd" 1.2 + "'quoted'" -- "$2"

以下のように表示されるでしょう:

   argc=7 p0=abcd p1=1.2 p2=+ p3='quoted' p4=- p5=- p6=$2 p7=xx

注意: using を使用しているデータファイルでは文法的に重なってしまいま す。その場合、call されたデータファイルからプロットするときは、デー タの n カラム目の指示には $$n または column(n) を使用してください。

竹野茂治@新潟工科大学
2009年9月7日