Vnano System プラグイン群
(org.vcssl.nano.plugin.system パッケージ)
概要
このパッケージ/サブパッケージ内のプラグイン群は、Vnano (VCSSL nano) のスクリプトから利用できる、基本的な入出力機能やユーティリティ機能などを提供します。
なお、このプラグイン群の提供機能は、VCSSL の標準ライブラリの一つである VCSSL System ライブラリ の機能のサブセットになっています。
そのため、VCSSL のスクリプトにおいても同様の機能が標準で利用可能です。
提供プラグインおよび機能一覧
- SystemEnvironmentXnci1Plugin
-
環境に関する情報などを提供するプラグインです。
変数: EOL / LF / CR
- SystemDataTypeXnci1Plugin
-
データ型関連のユーティリティ機能を提供するプラグインです。
変数: INT_MAX / INT_MIN / FLOAT_MAX / FLOAT_MIN_ABS_NORMAL / FLOAT_MIN_ABS_DENORMAL / NAN / INF
関数: nan(value) / inf(value) / length(array, dimIndex) / rank(array)
- SystemTerminalIOXnci1Plugin
-
端末との入出力機能を提供するプラグインです。
関数: print(...) / println(...)
- SystemTimeXnci1Plugin
-
時間制御に関するユーティリティ機能を提供するプラグインです。
関数: time() / sleep(sleepTime)
- SystemTerminationXnci1Plugin
-
スクリプトを終了させる機能を提供するプラグインです。
関数: exit() / exit(exitStatusCode) / error(errorMessage)
- SystemTestXnci1Plugin
-
テストのためのユーティリティ機能を提供するプラグインです。
関数: assert(expectedCondition)
ライセンス
上記のプラグインは全て CC0 で公開されています。
SystemEnvironmentXnci1Plugin
(org.vcssl.nano.plugin.system.xnci1.SystemEnvironmentXnci1Plugin)
環境に関する情報などを提供するプラグインです。
変数
変数 |
EOL |
値 |
環境におけるデフォルトの改行コードを格納しています。 |
データ型 |
string (定数) |
変数 |
LF |
値 |
改行コードの一種である LF の値を格納しています。 |
データ型 |
string (定数) |
変数 |
CR |
値 |
改行コードの一種である CR の値を格納しています。 |
データ型 |
string (定数) |
SystemDataTypeXnci1Plugin
(org.vcssl.nano.plugin.system.xnci1.SystemDataTypeXnci1Plugin)
データ型関連のユーティリティ機能を提供するプラグインです。
変数
変数 |
INT_MAX |
値 |
int 型の最大値(正の値)を格納しています。 |
データ型 |
int (定数) |
変数 |
INT_MIN |
値 |
int 型の最小値(負の値)を格納しています。 |
データ型 |
int (定数) |
変数 |
FLOAT_MAX |
値 |
float 型の最大値(正の値)を格納しています。 |
データ型 |
float (定数) |
変数 |
FLOAT_MIN_ABS_NORMAL |
値 |
正規化数の範囲内において、float 型で表現可能な、最も絶対値が小さい値(正の値、0 以外)を格納しています。 |
データ型 |
float (定数) |
変数 |
FLOAT_MIN_ABS_DENORMAL |
値 |
非正規化数の範囲を含めて、float 型で表現可能な、最も絶対値が小さい値(正の値、0 以外)を格納しています。 |
データ型 |
float (定数) |
変数 |
NAN |
値 |
NaN の値を格納しています。NaN は、異常な浮動小数点演算を行った結果として生じる、特殊な値です。なお、NaN は NaN を含む全ての値と等しくないため、NaN かどうかを「 == 」演算子によって検査する事はできません。検査には「 nan(value) 」関数を使用してください。 |
データ型 |
float (定数) |
変数 |
INF |
値 |
無限大の値(正の値)を格納しています。 |
データ型 |
float (定数) |
関数
関数 |
nan(value) |
機能 |
値が NaN かどうかを検査します。NaN は、異常な浮動小数点演算を行った結果として生じる、特殊な値です。なお、NaN は NaN を含む全ての値と等しくないため、NaN かどうかを「 == 」演算子によって検査する事はできません。検査にはこの関数を使用してください。 |
宣言形式 |
bool nan(float value) |
引数 |
(float型) value: 検査対象の値。 |
戻り値 |
(bool型) 引数 value が NaN の場合は true, NaN でなければ false。 |
使用例 |
print( nan(0.0/0.0) ); // true |
関数 |
inf(value) |
機能 |
値が正または負の無限大かどうかを検査します。 |
宣言形式 |
bool inf(float value) |
引数 |
(float型) value: 検査対象の値。 |
戻り値 |
(bool型) 引数 value が正または負の無限大の場合は true, そうでなければ false。 |
使用例 |
print( inf(1.0/0.0) ); // true |
関数 |
length(array, dimIndex) |
機能 |
配列 array の、dimIndex に指定された次元における要素数を返します。 |
宣言形式 |
int length(any array[...], int dimIndex) |
引数 |
(任意型、任意次元の配列) array: 要素数を調べたい配列。
(int型) dimIndex: 要素数を調べたい次元のインデックス(左端の次元が 0 番目)。
|
戻り値 |
(int型) 指定された配列の、指定された次元における要素数。 |
使用例 |
int a[10][11][12]; println( length(a,0) ); // 10 println( length(a,1) ); // 11 println( length(a,2) ); // 12 |
関数 |
rank(array) |
機能 |
配列 array の次元数を返します。 |
宣言形式 |
int rank(any array[...]) |
引数 |
(任意型、任意次元の配列) array: 次元数を調べたい配列。
|
戻り値 |
(int型) 指定された配列の次元数。 |
使用例 |
int a[10][11][12]; print( rank(a) ); // 3 |
SystemTerminalIOXnci1Plugin
(org.vcssl.nano.plugin.system.xnci1.SystemTerminalIOXnci1Plugin)
端末との入出力機能を提供するプラグインです。
スクリプトエンジンの「 UI_MODE 」オプションが「 CUI 」に設定されている場合は、
入出力処理は標準入出力に対して行われます。
スクリプトエンジンの「 UI_MODE 」オプションが「 GUI 」に設定されている場合は、
端末に似たウィンドウが起動し、それに対して入出力処理が行われます。
関数
関数 |
print(...) |
機能 |
値を空白(タブ)区切りで端末に出力します。 |
宣言形式 |
void print(...) |
引数 |
(任意型、任意次元、任意個数) 端末に出力したい値。 |
戻り値 |
なし |
使用例 |
print( "Hello", 123, 4.56, true ); // Hello 123 4.56 true |
関数 |
println(...) |
機能 |
値を空白(タブ)区切りで端末に出力し、改行します。 |
宣言形式 |
void println(...) |
引数 |
(任意型、任意次元、任意個数) 端末に出力したい値。 |
戻り値 |
なし |
使用例 |
println( "Hello", 123, 4.56, true ); // Hello 123 4.56 true (改行) |
SystemTimeXnci1Plugin
(org.vcssl.nano.plugin.system.xnci1.SystemTimeXnci1Plugin)
時間制御に関するユーティリティ機能を提供するプラグインです。
関数
関数 |
time() |
機能 |
現在のスクリプトの実行開始時点からの経過時間を、ミリ秒単位で取得して返します。 |
宣言形式 |
int time() |
引数 |
なし |
戻り値 |
(int型) 現在のスクリプト実行開始時点からの、ミリ秒単位での経過時間。 |
使用例 |
int t = time(); print( t ); |
関数 |
sleep(sleepTime) |
機能 |
スクリプトの実行を、ミリ秒単位で指定された時間だけ停止します。 |
宣言形式 |
void sleep( int sleepTime ) |
引数 |
(int型) sleepTime: ミリ秒単位での停止時間。 |
戻り値 |
なし |
使用例 |
sleep(1000); // 1秒停止 |
SystemTerminationXnci1Plugin
(org.vcssl.nano.plugin.system.xnci1.SystemTerminationXnci1Plugin)
スクリプトを終了させる機能を提供するプラグインです。
関数
関数 |
exit() |
機能 |
エラーを発生させずにスクリプトの実行を終了します。 |
宣言形式 |
void exit() |
引数 |
なし |
戻り値 |
なし |
使用例 |
exit(); |
関数 |
exit(exitStatusCode) |
機能 |
終了ステータスコードを指定して、エラーを発生させずにスクリプトの実行を終了します。 |
宣言形式 |
void exit(int exitStatusCode) |
引数 |
(int型) exitStatusCode: 終了ステータスコード(扱いは処理系依存) |
戻り値 |
なし |
使用例 |
exit(1); |
関数 |
error(errorMessage) |
機能 |
指定されたメッセージのエラーを発生させ、スクリプトの実行を終了します。 |
宣言形式 |
void error(string errorMessage) |
引数 |
(string型) errorMessage: ユーザーに通知したいエラーメッセージ。 |
戻り値 |
なし |
使用例 |
error( "something is wrong !" ); |
SystemTestXnci1Plugin
(org.vcssl.nano.plugin.system.xnci1.SystemTestXnci1Plugin)
テストのためのユーティリティ機能を提供するプラグインです。
関数
関数 |
assert(expectedCondition) |
機能 |
引数に指定した条件式の値が true であれば何もせず、false であればエラーを発生させます。 |
宣言形式 |
void assert( bool expectedCondition ) |
引数 |
(bool型) expectedCondition: 期待される条件式の値。 |
戻り値 |
なし |
使用例 |
int x; x = 1; assert( 0 < x ); // OK x = -1; assert( 0 < x ) ; // Error |