2.4.2 glcget/glcset(glcstx)

1.
機能
MATH1で使用する文字型の内部変数を参照/変更する. (glcstx は実行時オプションによる変更を許す. )
2.
呼び出し方法
cpara = NumRu::DCL.glcget(cp)
NumRu::DCL.glcset(cp,cpara)
NumRu::DCL.glcstx(cp,cpara)
3.
パラメーターの説明
cp (C*8) 内部変数の名前.
cpara (C*(*)) 文字型の内部変数の値.



以下にcpとして指定できる名前のリストを記す.



'DCLRC' (C) 実行時オプションを読み込む外部ファイル名 (標準ライブラリにおける値は .dclrc). ただし, この内部変数の値がそのままファイル名として 用いられるわけではない. 備考を参照のこと.
'DUPATH' (C) ユーザー用の各種データベースファイルをおくパス名. 標準ライブラリにおける初期値は ' ' (空白: これはカレントディレクトリをあらわす).
'DSPATH' (C) システムがあらかじめ用意した各種データベースファイルを おくパス名. 標準ライブラリにおける値は, インストール時に $(DCLDBASE) が示す値となる.

4.
備考
(a)
内部変数を管理するための下請けルーチンとして 以下のものがある.
GLCQNP(NCP) 内部変数の総数 ncpを求める.
GLCQID(CP,IDX) 内部変数 cpの位置 idxを求める.
GLCQCP(IDX,CP) idxの位置にある内部変数の名前 cpを参照する.
GLCQVL(IDX,CPARA) idxの位置にある内部変数の値 iparaを参照する.
GLCSVL(IDX,CPARA) idxの位置にある内部変数の値 iparaを変更する.
(b)
GLCGET は上に述べたGLCQIDを呼んで 内部変数の位置を求め, glcqvlによって値を参照する; glcsetglcqidを呼んで内部変数の位置を求め, glcsvlによって値を設定する. したがって指定した内部変数名が見つからないとき, エラーメッセージはglcqidが出力する.
(c)
内部変数の名前は, 大文字・小文字の区別なく文字列を比較する 文字メソッド(元関数)lchreqを用いてチェックされるので, lchreqが正しく移植されていれば, 小文字で指定してもよい.
(d)
このルーチンが管理する内部変数を, 外部ファイルを通した 実行時オプションによって変更することはできない. (なぜなら, 再帰的なループに入り込んでしまうため. )
(e)
'DCLRC' が示す内部変数は, その内部変数の値がファイル名としてそのまま利用される わけではない. 実際に利用されるファイル名は glqfnm が決める. 標準ライブラリではまずカレントディレクトリを探す. 次に内部変数'DUPATH' (ユーザーの指定するパス名)の さすディレクトリを探す. 最後に内部変数'DSPATH'(システムがあらかじめ 用意するパス名)のさすディレクトリを探す.