システム関数
ここでは、VCSSLの基礎的な機能を提供する、システム関数と定数を扱います。
システム関数
システム関数は、ユーザーが定義する関数とは異なり、VCSSL を処理するシステムによって、 標準でサポートされている関数です。
これまで扱ってきた内容でも、システム関数を何度も使っていました。 というのも、結果の出力に使用していた print 関数なども、全てシステム関数です。 つまり、VCSSL を処理するシステムと通信し、そのシステムの機能により画面出力を行っていたのです。
代表的なシステム関数
よく使用する代表的なシステム関数は以下の通りです:
システム関数 | 引数 | 詳細 |
---|---|---|
任意型、任意個数 | 引数の内容をVCSSL コンソールに表示します。 | |
println | 任意型、任意個数 | 引数の内容をVCSSL コンソールに表示し、改行します。 |
output | 任意型、任意個数 | 引数の内容を、結果出力用の端末に表示します。端末が存在しない場合、println 関数と同様の動作をします。 |
pop | 任意型、任意個数 | 引数の内容をポップアップウィンドウに表示します。 |
input | string型のメッセージ | 引数の内容をメッセージウィンドウに表示します。 |
confirm | string型のメッセージ | ユーザーにYES/NO の選択を促します。結果をbool型で返します。 |
select | string型の選択肢1, string型の選択肢2, string型の選択肢3 … |
引数の中から1 個を選択するようユーザーに要求します。結果をstring 型で返します。 |
beep | なし、またはint型の回数、またはint 型の回数と間隔 | アラーム音を鳴らします。引数が1 個の場合は回数、2 個の場合は回数と間隔(ミリ秒)とみなされます。 |
choose | string型のメッセージ | ファイルまたはフォルダの選択をユーザーに要求し、ファイルの絶対パスをstring 型で返します。 |
sleep | int 型の停止時間 | プログラムを一定の時間だけ停止します。引数には、停止時間をミリ秒単位で指定してください。 |
exit | なし | プログラムの実行を終了します。 |
reset | string型のプログラム名, string 配列型のmain引数 |
現在実行中のプログラムを終了し、別のプログラムを実行します。一つめの引数には、別のプログラムの名称または相対パスを、二つめの引数にはmain関数コールの引数を指定してください。 |
eval | string型の式内容 | string 型変数の中身を式と見なし、処理した結果をstring 型配列で返します。 |
evaltr | string型の式内容 | eval 関数の処理過程を、string型配列で返します。※主にデバッグ用であり、内容は処理システムに依存します。 |
override | string型の関数名, string 型配列の引数型名, string 型の関数内容 |
関数の処理内容を、プログラム実行中に変更します。2 つめの引数には、"int"や"float"など、引数の型を保持するstring 型配列を指定してください。3 つめの引数には、新しい関数の処理内容を、VCSSLプログラムの文法で記述したstring 変数を指定してください。 |
hide ※ | なし | VCSSL コンソールを隠します(不可視化)。 |
show | なし | VCSSL コンソールを出現させます(可視化)。 |
clear | なし | コンソールの内容を全てクリアします。 |
save | string型のファイルパス, string 型の内容(省略可) |
2 つめの引数の内容を、ファイルに出力します。内容の指定を省略した場合、コンソールの内容をファイルに出力します。 |
load | なし、またはstring 型のファイルパス | 指定されたファイルの内容を読み込み、string 型で返します。ファイルパスの指定を省略した場合、コンソールの内容を返します。 |
re | vomplex 型または varcomplex 型の、 実部を知りたい変数 |
複素数の実部を返します。 |
im | vomplex 型または varcomplex 型の、 虚部を知りたい変数 |
複素数の虚部を返します。 |
システム定数
システム関数と同様、システムによってあらかじめ定義されている定数値をシステム定数と呼びます。 システム定数には、機種依存の改行コードや、整数・小数の最大最小値など、不可欠な値が定義されています。
代表的なシステム定数
よく使用する代表的なシステム定数は以下の通りです:
システム定数 | 型 | 詳細 |
---|---|---|
NULL | 特別な型 | 無効な値です。文字列や構造体などは無効値を保持する事があり、その場合にNULL と比較するとtrue が得られます。代入する事も可能です。 なお、int 型との比較・代入に関しては、特例的に -1と等価な振る舞いをします。 |
EOL | string 型 | 環境で使用されている標準的な改行コードです。 |
LF | string 型 | 環境依存の改行コードLF ( 0x0A ) です。 |
CR | string 型 | 環境依存の改行コードCR ( 0x0D ) です。 |
I | complex 型 | complex 型の虚数単位(0.0,1.0)です。 |
VCI | varcomplex 型 | varcomplex 型の虚数単位(0.0,1.0)です。 |
INT_MAX | int 型 | int 型の最大値です。 |
INT_MIN | int 型 | int 型の最小値です。 |
FLOAT_MAX | float 型 | float 型の最大値です。 |
FLOAT_MIN | float 型 | float 型の最小値です。 |