System ライブラリ


概要 - Abstract

VCSSL System ライブラリ は、一般的な用途において必須となるような基盤機能を提供する標準ライブラリです。

Systemライブラリは、実行対象のVCSSLプログラムを読み込むよりも先に、処理系によって自動で読み込まれます。このため System ライブラリは、特例的に import 不要で使用できます。

このような特例措置が適用される理由は、System ライブラリが提供する機能の使用頻度が、他の標準ライブラリに比べて著しく高いためです。System ライブラリは、他の標準ライブラリのように、特定の分野の機能をまとめたものではありません。分野によらず、一般的な利用シーンにおいて、使用頻度が特に高いと思われる機能が、Systemライブラリにまとめられています。恐らくおおよそ殆どのVCSSLプログラムにおいて、System ライブラリの提供する機能は必須となるでしょう。逆に、VCSSLでは、System ライブラリが提供する機能だけでも(つまり他の標準ライブラリを明示的に import しなくても)、簡易スクリプト言語としてある程度の実用範囲をカバーできるように配慮されています。

System ライブラリにおける具体的な機能の例としては、変数・配列に対する基本的な操作と変換、ユーザーとの入出力やファイル入出力、ファイルシステムとの単純なやり取り、オペレーティングシステムのコマンド実行などが挙げられます。これらの内のいくつかは、より高度かつ複雑な機能が、各分野に特化した標準ライブラリによっても提供されています。VCSSLにおける標準ライブラリの設計コンセプトでは、簡易用途では基本的に System ライブラリの機能を利用し、それでは機能不足が生じるような場合において、必要に応じて各種の特化したライブラリを import して利用するという使い方を想定しています。

System ライブラリでは、識別子の命名規則についても、他の標準ライブラリとはやや異なり、簡易用途における利便性を優先した、特例的なものとなっています。VCSSLの標準ライブラリにおける識別子の命名は、原則として、英単語を省略せずにロワーキャメルケースで綴る方針を採用しています。しかし System ライブラリにおいては、英単語を短縮してタイプ数を削り、必要に応じてプレフィックスやサフィックスで意味付けの補間をするような、略記的な識別子名称が多く採用されています。


目次 - Index

const string VER
処理系が対応する、VCSSLのバージョンコードを表します。
const string REV
処理系の開発リビジョンコードを表します。
const complex I
complex 型の虚数単位です。
const varcomplex VCI
varcomplex 型の虚数単位です。
const float INF
float 型の Inf (無限大) です。
const float NAN
float 型の NaN (非数) です。なお、NaN はあらゆる値と等しくありません。つまり、value == NAN といった比較で、変数 value が NaN であるかどうかを判定する事はできません。NaN の判定には nan 関数を使用してください。
const float FLOAT_MAX
float 型の最大値です。
const float FLOAT_MIN
float 型の最小値です。
const int INT_MAX
int 型の最大値です。
const int INT_MIN
int 型の最小値です。
const string EOL
環境依存の改行コードです。CR, LF, CR+LF などの中から、実行中の環境に適した値を保持しています。
const string CR
改行コード CR (0x0D) です。
const string LF
改行コード LF (0x0A) です。
const string READ
「読み込み」を行うファイル入出力モードです。open 関数で使用します。
const string WRITE
「書き込み」を行うファイル入出力モードです。open 関数で使用します。
const string APPEND
「追記書き込み」を行うファイル入出力モードです。open 関数で使用します。
const string READ_TSV
「TSV読み込み」を行うファイル入出力モードです。open 関数で使用します。
const string WRITE_TSV
「TSV書き込み」を行うファイル入出力モードです。open 関数で使用します。
const string APPEND_TSV
「TSV追記書き込み」を行うファイル入出力モードです。open 関数で使用します。
const string READ_CSV
「CSV読み込み」を行うファイル入出力モードです。open 関数で使用します。
const string WRITE_CSV
「CSV書き込み」を行うファイル入出力モードです。open 関数で使用します。
const string APPEND_CSV
「CSV追記書き込み」を行うファイル入出力モードです。open 関数で使用します。
const string READ_BINARY
「バイナリ読み込み」を行うファイル入出力モードです。open 関数で使用します。
const string WRITE_BINARY
「バイナリ書き込み」を行うファイル入出力モードです。open 関数で使用します。
const string APPEND_BINARY
「バイナリ追記書き込み」を行うファイル入出力モードです。open 関数で使用します。
const string STDIN
標準入力に対してファイル入出力関数を使用するための、特別なファイルパスです。
const string STDOUT
標準出力に対してファイル入出力関数を使用するための、特別なファイルパスです。
const string STDERR
標準エラー出力に対してファイル入出力関数を使用するための、特別なファイルパスです。
const int UP
ゼロを基準とする小数点以下の部分( いわゆる Decimal part )の桁数を指定して、「 切り上げ 」を行う丸めモードです。round 関数で使用します。
const int UP_SIGNIF
有効数字の部分( いわゆる Significand part )の桁数を指定して、「 切り上げ 」を行う丸めモードです。round 関数で使用します。このモードは、VCSSL 3.3 以前において「 UP 」として試験導入されていたものです。
const int DOWN
ゼロを基準とする小数点以下の部分( いわゆる Decimal part )の桁数を指定して、「 切り下げ 」を行う丸めモードです。round 関数で使用します。
const int DOWN_SIGNIF
有効数字の部分( いわゆる Significand part )の桁数を指定として、「 切り下げ 」を行う丸めモードです。round 関数で使用します。このモードは、VCSSL 3.3 以前において「 DOWN 」として試験導入されていたものです。
const int HALF_UP
ゼロを基準とする小数点以下の部分( いわゆる Decimal part )の桁数を指定して、「 half up 丸め 」を行う丸めモードです。round 関数で使用します。
const int HALF_UP_SIGNIF
有効数字の部分( いわゆる Significand part )の桁数を指定として、「 half up 丸め 」を行う丸めモードです。round 関数で使用します。このモードは、VCSSL 3.3 以前において「 HALF_UP 」として試験導入されていたものです。
const int HALF_DOWN
ゼロを基準とする小数点以下の部分( いわゆる Decimal part )の桁数を指定して、「 half down 丸め 」を行う丸めモードです。round 関数で使用します。
const int HALF_DOWN_SIGNIF
有効数字の部分( いわゆる Significand part )の桁数を指定として、「 half down 丸め 」を行う丸めモードです。round 関数で使用します。このモードは、VCSSL 3.3 以前において「 HALF_DOWN 」として試験導入されていたものです。
const int HALF_TO_EVEN
ゼロを基準とする小数点以下の部分( いわゆる Decimal part )の桁数を指定して、「 half to even 丸め 」を行う丸めモードです。round 関数で使用します。
const int HALF_TO_EVEN_SIGNIF
有効数字の部分( いわゆる Significand part )の桁数を指定として、「 half to even 丸め 」を行う丸めモードです。round 関数で使用します。このモードは、VCSSL 3.3 以前において「 HALF_EVEN 」として試験導入されていたものです。
macro print(...)
コンソールに文字列を出力します。引数は任意型であり、自動的に文字列型に変換されます。引数を複数指定した場合、それがどのような形で出力されるかは処理系依存です。恐らく通常は、空白区切りで出力されます。
macro println(...)
コンソールに文字列を出力し、改行します。引数は任意型であり、自動的に文字列型に変換されます。引数を複数指定した場合、それがどのような形で出力されるかは処理系依存です。恐らく通常は、空白区切りで出力されます。
macro output(...)
プログラムの処理結果を表示するための領域に、文字列を出力します。引数は任意型であり、自動的に文字列型に変換されます。引数を複数指定した場合、それがどのような形で出力されるかは処理系依存です。恐らく通常は、空白区切りで出力されます。
macro input(...)
ユーザーから、任意文字列の入力を受け付けます。引数は任意型であり、自動的に文字列型に変換され、入力項目のメッセージとして表示されます。引数を複数指定した場合、それがどのような形で出力されるかは処理系依存です。恐らく通常は、改行区切りで出力されます。なお、最後の引数は、入力項目のデフォルト値として使用されます。
macro select(...)
ユーザに選択肢を提示し、選択された項目を取得します。引数は任意型であり、自動的に文字列型に変換され、選択肢として表示されます。
macro alert(...)
警告ウィンドウにメッセージを出力し、ユーザーがそれを了承するまで、プログラムの実行を待機します。引数を複数指定した場合、それがどのような形で出力されるかは処理系依存です。恐らく通常は、改行区切りで出力されます。なお、警告の意図のないメッセージの出力には、VCSSL 3.4以降からほぼ同機能の pop 関数が利用できます。今後、alert は警告の意図があるメッセージに対して使用する事が推奨されます。
macro popup(...)
ポップアップウィンドウにメッセージを出力し、ユーザーがそれを了承するまで、プログラムの実行を待機します。引数を複数指定した場合、それがどのような形で出力されるかは処理系依存です。恐らく通常は、改行区切りで出力されます。この関数は、現時点では alert 関数と全く同じ動作をしますが、警告の意図のないメッセージの出力に使用するため、VCSSL 3.4 から新たにサポートされたものです。alert と使い分ける事で、表示するメッセージが警告なのか通常のメッセージなのか、コード内で意図をはっきりさせる事ができます。将来的には、ウィンドウ上の表示アイコンなどが alert と違うものになる可能性もあります。
macro pop(...)
popup 関数と同じものです。この関数は、data.Stack ライブラリの pop 関数と同一名称であったため、どちらを呼び出しているかをコード上でわかりやすくしたい場合のため、後に同機能の popup 関数が追加されました。なお、Stack ライブラリの pop 関数は型パラメータを持っており、現在のVCSSLでは型パラメータの省略はできないため、この関数とシグネチャが競合する可能性は、少なくとも現時点ではありません。この関数は互換目的でサポートされており、今後も引き続き使用できますが、混乱をなるべく避けるため、特に事情がなければ今後は popup 関数を優先的に使用する事が推奨されます。
macro confirm(...)
メッセージを出力し、ユーザーに 了承 / 拒否 の二択を提示します。引数を複数指定した場合、それがどのような形で出力されるかは処理系依存です。恐らく通常は、改行区切りで出力されます。
string[ ] choose()
ユーザーにファイルを選択画面を提示し、選択されるまでプログラムの実行を待機します。
string[ ] choose(string message)
ユーザーにファイルを選択画面を提示し、選択されるまでプログラムの実行を待機します。
string[ ] choose(string message, string directory)
ユーザーにファイルを選択画面を提示し、選択されるまでプログラムの実行を待機します。
void beep()
ビープ音を鳴らします。ただし、実際に鳴らせるかどうかは環境に依存します。場合によっては、ビープ音でない音(オペレーティングシステムの警告音など)が鳴る事もあります。
void beep(int repeat)
ビープ音を鳴らします。ただし、実際に鳴らせるかどうかは環境に依存します。場合によっては、ビープ音でない音(オペレーティングシステムの警告音など)が鳴る事もあります。
void beep(int repeat, int wait)
ビープ音を鳴らします。ただし、実際に鳴らせるかどうかは環境に依存します。場合によっては、ビープ音でない音(オペレーティングシステムの警告音など)が鳴る事もあります。
void clear()
コンソールの内容をクリアします。ただし、この関数の挙動は処理系依存です。例えば、コンソールの内容が、処理系に付属したウィンドウに表示されるような場合においては、恐らく期待した通りの結果が得られます。しかし、コンソールウィンドウを持たない、標準入出力ベースの処理系においては、恐らく何も行われません。
void hide()
コンソールを非表示にします。ただし、この関数の挙動は処理系依存です。例えば、コンソールの内容が、処理系に付属したウィンドウに表示されるような場合においては、恐らく期待した通りの結果が得られます。しかし、コンソールウィンドウを持たない、標準入出力ベースの処理系においては、恐らく何も行われません。
void show()
コンソールが非表示にされている場合、表示します。ただし、この関数の挙動は処理系依存です。例えば、コンソールの内容が、処理系に付属したウィンドウに表示されるような場合においては、恐らく期待した通りの結果が得られます。しかし、コンソールウィンドウを持たない、標準入出力ベースの処理系においては、恐らく何も行われません。
macro sleep(int milliSecond)
プログラムの実行を一時停止します。
void exit()
プログラムの実行を終了します。なお、この関数は、処理系にプログラムの終了をリクエストするものであり、必ずしも即時的に実行が終了される事が保証されるものではありません。この関数をコールするには、全てのループや分岐を抜けた後のプログラム最終行など、処理系がアイドリング状態となっているタイミングが理想的です。処理系が高速に処理を行っているタイミングでこの関数をコールすると、強制終了に近い状態となります。詳細は処理系の実装や最適化の方針などに依存しますが、処理系は、この関数がコールされた時点で、即時的に中断できないような一連の演算処理を行っている最中かもしれません。その場合はタイムラグが生じ、コール後も少しの間、実行が継続される場合があります。
void exit(int code)
終了ステータスコードを指定して、プログラムの実行を終了します。なお、この関数は、処理系にプログラムの終了をリクエストするものであり、必ずしも即時的に実行が終了される事が保証されるものではありません。この関数をコールするには、全てのループや分岐を抜けた後のプログラム最終行など、処理系がアイドリング状態となっているタイミングが理想的です。処理系が高速に処理を行っているタイミングでこの関数をコールすると、強制終了に近い状態となります。詳細は処理系の実装や最適化の方針などに依存しますが、処理系は、この関数がコールされた時点で、即時的に中断できないような一連の演算処理を行っている最中かもしれません。その場合はタイムラグが生じ、コール後も少しの間、実行が継続される場合があります。
void reset(string programName, string args[ ])
処理系をリセットし、別のプログラムを実行します。
macro error(...)
エラーメッセージを出力します。エラーメッセージ出力後、プログラムの実行が終了されるか、継続されるかは、処理系に依存します。確実に終了させたい場合は、続けて exit をコールしてください。
macro assert(bool expression)
式の値を評価し、真であれば何も行わず、偽であればエラーメッセージを出力します。プログラムの実行は恐らく終了されます。この関数はテストに使用します。
macro exec(...)
オペレーティングシステムのコマンド、または外部プログラムを、別プロセスで非同期で実行します。呼び出し元プログラムの実行は、処理の完了を待機しません。生成したプロセスと並列的に、実行を継続します。処理の実行を待機したり、標準入出力を制御したい場合は、Process ライブラリを使用してください。
macro system(...)
オペレーティングシステムのコマンド、または外部プログラムを、同期実行します。処理が完了するまで、呼び出し元プログラムの実行は待機します。
bool exists(string filePath)
ファイルが存在するか確認します。
void mkdir(string directoryPath)
ディレクトリ(フォルダ)を新規生成します。ディレクトリが既に存在した場合は、何もしません。
bool isdir(string filePath)
ファイルがディレクトリかどうかを確認します。
string[ ] listdir(string directoryPath)
ディレクトリ内のファイル名一覧を返します。
macro rank(...)
配列の次元数を返します。例えば配列 a[11][28][32] に対して、rank(a) は 3 です。
macro length(...)
配列の要素数を返します。第二引数には、要素数を知りたい次元を、左から 0, 1, 2, ... と数えたインデックスを指定します。例えば配列 a[11][28][32] に対して、length(a, 0) は 11 であり、length(a, 1) は 28 であり、 length(a, 2) は 32 です。
bool nan( float value )
float 型の変数または値が、NaN (非数) かどうか判定します。
bool inf( float value )
float 型の変数または値が、Inf (無限大) かどうか判定します。
string bin( int number )
int 型の変数または値を、2進数で表した文字列を返します。先頭には 0b のプレフィックスが付加されます。
string oct( int number )
int 型の変数または値を、8進数で表した文字列を返します。先頭には 0 のプレフィックスが付加されます。
string hex( int number )
int 型の変数または値を、16進数で表した文字列を返します。先頭には 0x のプレフィックスが付加されます。
macro digit(arg)
varfloat 型または varcomplex 型の演算桁数を指定します。
macro digit()
varfloat 型または varcomplex 型の演算桁数を取得します。
float round(float value, int digit, int mode)
float型の値を、指定されたモードで、指定された桁数に丸めます。
complex round(complex value, int digit, int mode)
complex型の値を、指定されたモードで、指定された桁数に丸めます。
varfloat round(varfloat value, varint digit, int mode)
varfloat型の値を、指定されたモードで、指定された桁数に丸めます。
varcomplex round(varcomplex value, varint digit, int mode)
varcomplex型の値を、指定されたモードで、指定された桁数に丸めます。
void round(int mode)
varfloat 型および varcomplex 型の演算における、デフォルトの丸めモードを指定します。なお、varfloat 型および varcomplex 型の丸め制御と、この関数の実装は、現在は試験的に導入されているものです。現時点では、あらゆる演算において指定通りに丸め制御が行われる事は、必ずしも保証されません。使用する際には、事前に検証を行って下さい。varfloat 型および varcomplex 型の丸め制御、及びこの round 関数の実装は、試験導入期間を経た上で、VCSSL 4 以降での正式導入を予定しています。
float re( complex value )
complex 型の実部を返します。
float im( complex value )
complex 型の虚部を返します。
void re( complex value, float realValue )
complex 型の実部を設定します。
void im( complex value, float imagValue )
complex 型の虚部を設定します。
varfloat re( varcomplex value )
varcomplex 型の実部を返します。
varfloat im( varcomplex value )
varcomplex 型の虚部を返します。
void re( varcomplex value, varfloat realValue )
varcomplex 型の実部を設定します。
void im( varcomplex value, varfloat imagValue )
varcomplex 型の虚部を設定します。
macro save(string filePath, content)
簡易ファイル出力関数です。string 変数の保持する内容を、ファイルに保存します。
void save(string filePath)
簡易ファイル出力関数です。現在コンソールに表示されている内容を、ファイルに保存します。ただし、この関数の挙動は処理系依存です。例えば、コンソールの内容が、処理系に付属したウィンドウに表示されるような場合においては、恐らく期待した通りの結果が得られます。しかし、コンソールウィンドウを持たない、標準入出力ベースの処理系においては、恐らく何も行われません。
string load(string filePath)
簡易ファイル入力関数です。ファイルの内容を全て読み込み、そのまま文字列として返します。読み込み後、ファイルは自動的に閉じられます。
string load()
簡易ファイル入力関数です。現在コンソールに表示されている内容を取得し、そのまま文字列として返します。ただし、この関数の挙動は処理系依存です。例えば、コンソールの内容が、処理系に付属したウィンドウに表示されるような場合においては、恐らく期待した通りの結果が得られます。しかし、コンソールウィンドウを持たない、標準入出力ベースの処理系においては、恐らく何も得られません。
int open(string filePath, string mode)
ファイルを開き、固有の識別番号( ファイルID )を割り振って返します。引数 filePath には、通常はファイル名またはパスを指定しますが、代わりに STDINSTDOUT, STDERR を指定して標準入出力に読み書きする事も可能です。
int open(string filePath, string mode, string textEncoding)
ファイルを開き、固有の識別番号( ファイルID )を割り振って返します。引数 filePath には、通常はファイル名またはパスを指定しますが、代わりに STDINSTDOUT, STDERR を指定して標準入出力に読み書きする事も可能です。
macro openw(...)
この関数は VCSSL 1.0 世代のものであり、open( filePath, "wtsv" ) と同等の機能でファイルを開きます。この関数は互換目的でサポートされています。
macro opencsvw(...)
この関数は VCSSL 1.0 世代のものであり、open( filePath, "wcsv" ) と同等の機能でファイルを開きます。この関数は互換目的でサポートされています。
macro openr(...)
この関数は VCSSL 1.0 世代のものであり、open( filePath, "rtsv" ) と同等の機能でファイルを開きます。この関数は互換目的でサポートされています。
macro opencsvr(...)
この関数は VCSSL 1.0 世代のものであり、open( filePath, "rcsv" ) と同等の機能でファイルを開きます。この関数は互換目的でサポートされています。
void close(int fileID)
ファイルを閉じます。この時点で、バッファされている書き込み内容は全てフラッシュされます。
void flush(int fileID)
ファイルのバッファされている書き込み内容をフラッシュします。
macro write(int fileID, ...)
ファイルに内容を書き込みます。書き込み内容は任意型で、書き込み時に文字列に変換されます。書き込み内容を複数指定した場合、それがどのような形で書き込まれるかは、ファイル入出力モードに依存します。 "w" または WRITE モードの場合 : 書き込み内容が、そのまま連結されて書き込まれます。 , "wtsv" または WRITE_TSV モードの場合 : 書き込み内容が、タブ文字区切りで連結されて書き込まれます。 , "wcsv" または WRITE_CSV モードの場合 : 書き込み内容が、カンマ文字区切りで連結されて書き込まれます。 , なおこの関数は、VCSSL2.1以前では改行されますが、2.2以降では改行されません。改行付きの機能は writeln 関数が提供します。
macro writeln(int fileID, ...)
ファイルに内容を書き込み、改行します。書き込み内容は任意型で、書き込み時に文字列に変換されます。書き込み内容を複数指定した場合、それがどのような形で書き込まれるかは、ファイル入出力モードに依存します。 "w" または WRITE モードの場合 : 書き込み内容が、そのまま連結されて書き込まれます。 , "wtsv" または WRITE_TSV モードの場合 : 書き込み内容が、タブ文字区切りで連結されて書き込まれます。 , "wcsv" または WRITE_CSV モードの場合 : 書き込み内容が、カンマ文字区切りで連結されて書き込まれます。 , なお、改行コードには、実行環境に適切なものが自動的に採用されます。もしも、LFCR などの特定の改行コードを使用したい場合は、この関数の代わりに write 関数を使用し、書き込み内容に LFCR を付加して書き込んでください。
string[ ] read(int fileID)
ファイルの内容を全て読み込みます。戻り値は string 型配列ですが、これに読み込み内容がどのように格納されるのかは、ファイル入出力モードに依存します。 "r" または READ モードの場合 : ファイルの内容がそのまま、要素数 1 の string 型配列に格納して返されます。 , "rtsv" または READ_TSV モードの場合 : ファイルの内容が、空白及び改行区切りで、string 型配列に格納して返されます。タブ文字と半角空白は同一視されます。 , "rcsv" または READ_CSV モードの場合 : ファイルの内容が、カンマ記号及び改行区切りで、string 型配列に格納して返されます。 , CSV や TSV の読み込みでは、エンクロージャやデリミタの解釈は行われず、単純に区切り文字が存在する位置で区切られます。また、TSV ではタブ文字と半角空白は区別されません。このあたりの挙動を、より厳密に制御したい場合は、file.TextFile ライブラリを使用してください。なおこの関数は、VCSSL2.1以前では行単位の読み込みでしたが、VCSSL2.2以降から全体の読み込みに変更されました。行単位の、過去と同様の機能は readln 関数が提供します。
string[ ] readln(int fileID)
ファイルから一行の内容を読み込みます。戻り値は string 型配列ですが、これに読み込み内容がどのように格納されるのかは、ファイル入出力モードに依存します。 "r" または READ モードの場合 : ファイルの内容がそのまま、要素数 1 の string 型配列に格納して返されます。 , "rtsv" または READ_TSV モードの場合 : ファイルの内容が、空白区切りで、string 型配列に格納して返されます。タブ文字と半角空白は同一視されます。 , "rcsv" または READ_CSV モードの場合 : ファイルの内容が、カンマ記号区切りで、string 型配列に格納して返されます。 , なお、CSV や TSV の読み込みでは、エンクロージャやデリミタの解釈は行われず、単純に区切り文字が存在する位置で区切られます。また、TSV ではタブ文字と半角空白は区別されません。このあたりの挙動を、より厳密に制御したい場合は、file.TextFile ライブラリを使用してください。
string load(int fileID)
ファイルの内容を全て読み込み、そのまま文字列として返します。
string loadln(int fileID)
ファイルから一行の内容を全て読み込み、そのまま文字列として返します。
int countln(int fileID)
ファイルの行数をカウントします。
macro eval(string expression)
文字列を式として評価します。レキシカルスコープで、変数や関数へのアクセスも可能です。また、代入を行う事もできます。戻り値には、式の値が string 型配列に変換されて返されます ( 式の値が非配列であった場合は、戻り値の要素数は 1 となります )。string 型配列は、最も変換自由度の高い型であり、あらゆるプリミティブ型の配列と非配列に代入できます ( 非配列へは要素数が1の場合に限り可能です )。反面、繰り返し高速に評価したい場合、特に戻り値が int 型や float 型である場合においては、文字列を介する型変換がボトルネックとなります。そういった場合は、評価式の中で結果を変数に代入し、戻り値を利用せずに捨てる事で、ボトルネックを回避できます。
macro eval(string expression, literalType)
文字列を式として評価します。引数 1 個の eval 関数と異なるのは、式中でサフィックスが明示されていない数値リテラルを、どの型と解釈するか指定できる点です。例えば "1 / 2" の式は、通常は int 型同士の除算となるため、値は 0 です。これを float 型同士の除算と見なして 0.5 を得たい場合には、第二引数に float 型の値 ( 0.0 など ) を指定してください。なお第二引数は、型のみが意味を持ち、値は無視されます(しかしながら、初来的に何らかの意味づけが加えられる可能性もあるため、特に理由が無ければ 0 や 0.0 を指定する事が推奨されます)。
macro feval(string expression)
文字列を式として評価し、値を float 型の非配列で返します。
macro feval(string expression, literalType)
文字列を式として評価し、値を float 型の非配列で返します。
macro ieval(string expression)
文字列を式として評価し、値を int 型の非配列で返します。
macro ieval(string expression, literalType)
文字列を式として評価し、値を int 型の非配列で返します。
macro ceval(string expression)
文字列を式として評価し、値を complex 型の非配列で返します。
macro ceval(string expression, literalType)
文字列を式として評価し、値を complex 型の非配列で返します。
macro beval(string expression)
文字列を式として評価し、値を bool 型の非配列で返します。
macro beval(string expression, literalType)
文字列を式として評価し、値を bool 型の非配列で返します。
macro seval(string expression)
文字列を式として評価し、値を string 型の非配列で返します。
macro seval(string expression, literalType)
文字列を式として評価し、値を string 型の非配列で返します。
macro vfeval(string expression)
文字列を式として評価し、値を varfloat 型の非配列で返します。
macro vfeval(string expression, literalType)
文字列を式として評価し、値を varfloat 型の非配列で返します。
macro vieval(string expression)
文字列を式として評価し、値を varint 型の非配列で返します。
macro vieval(string expression, literalType)
文字列を式として評価し、値を varint 型の非配列で返します。
macro vceval(string expression)
文字列を式として評価し、値を varcomplex 型の非配列で返します。
macro vceval(string expression, literalType)
文字列を式として評価し、値を varcomplex 型の非配列で返します。
macro evaluable(string expression)
式の内容が構文的に正しいかどうかを判定します。eval 関数は構文解析に失敗すると処理速度が低下するため、式を高速に繰り返し評価したい場合、事前にこの関数で式の正当性を確認しておく事が推奨されます。
macro evaluable(string expression, literalType)
式の内容が構文的に正しいかどうかを判定します。eval 関数は構文解析に失敗すると処理速度が低下するため、式を高速に繰り返し評価したい場合、事前にこの関数で式の正当性を確認しておく事が推奨されます。
macro evaltr(string expression)
文字列を式として評価し、処理系の内部処理情報を返します。内容は完全に処理系依存です。なお、利用できる式には処理系依存の制約があり、必ずしも通常の式評価と整合する内容を返すとは限りません。また、一般に副作用のある式には使用できません。この関数は、主に開発時やデバッグ時に使用します。
macro evaltr(string expression, literalType)
文字列を式として評価し、処理系の内部処理情報を返します。内容は完全に処理系依存です。なお、利用できる式には処理系依存の制約があり、必ずしも通常の式評価と整合する内容を返すとは限りません。また、一般に副作用のある式には使用できません。この関数は、主に開発時やデバッグ時に使用します。
macro override(string functionName, string argumentType[ ], string functionCode)
関数の処理内容を、実行時に変更します。eval 関数は、ローカル変数の宣言や、複数の文を実行できないため、そのような処理を動的評価で行いたい場合には、この関数を使用します。なお、この関数でできるのは、既存の関数の処理内容を変更する事のみであり、新しい関数を宣言する事はできません。
string lf()
環境依存の改行コードを返します。VCSSL 3 以降では、定数 EOL をそのまま改行コードとして使用できます。この関数は、関数コールのオーバーヘッドを無駄に要します。新しいプログラムでは 定数 EOL の使用が推奨されます。この関数は互換目的でサポートされています。
string linefeed()
環境依存の改行コードを返します。VCSSL 3 以降では、定数 EOL をそのまま改行コードとして使用できます。この関数は、関数コールのオーバーヘッドを無駄に要します。新しいプログラムでは 定数 EOL の使用が推奨されます。この関数は互換目的でサポートされています。
void main( )
いわゆる main 関数です。全モジュールのグローバル領域の処理(例えばグローバル定数の初期化など)が完了した時点で、自動的にコールされます。複数のモジュールにおいて main 関数が存在する場合、モジュールの読み込み順序に基づいて、最後に定義されたものだけがコールされます(この点は一般のイベントハンドラと異なります)。
void main( string args[ ] )
いわゆる main 関数です。全モジュールのグローバル領域の処理(例えばグローバル定数の初期化など)が完了した時点で、自動的にコールされます。複数のモジュールにおいて main 関数が存在する場合、モジュールの読み込み順序に基づいて、最後に定義されたものだけがコールされます(この点は一般のイベントハンドラと異なります)。

構造体 - Structs

- なし - None -


変数 - Variables

定義
- Signature
const string VER
詳細
- Details
処理系が対応する、VCSSLのバージョンコードを表します。
定義
- Signature
const string REV
詳細
- Details
処理系の開発リビジョンコードを表します。
定義
- Signature
const complex I
詳細
- Details
complex 型の虚数単位です。
定義
- Signature
const varcomplex VCI
詳細
- Details
varcomplex 型の虚数単位です。
定義
- Signature
const float INF
詳細
- Details
float 型の Inf (無限大) です。
定義
- Signature
const float NAN
詳細
- Details
float 型の NaN (非数) です。なお、NaN はあらゆる値と等しくありません。つまり、value == NAN といった比較で、変数 value が NaN であるかどうかを判定する事はできません。NaN の判定には nan 関数を使用してください。
定義
- Signature
const float FLOAT_MAX
詳細
- Details
float 型の最大値です。
定義
- Signature
const float FLOAT_MIN
詳細
- Details
float 型の最小値です。
定義
- Signature
const int INT_MAX
詳細
- Details
int 型の最大値です。
定義
- Signature
const int INT_MIN
詳細
- Details
int 型の最小値です。
定義
- Signature
const string EOL
詳細
- Details
環境依存の改行コードです。CR, LF, CR+LF などの中から、実行中の環境に適した値を保持しています。
定義
- Signature
const string CR
詳細
- Details
改行コード CR (0x0D) です。
定義
- Signature
const string LF
詳細
- Details
改行コード LF (0x0A) です。
定義
- Signature
const string READ
詳細
- Details
「読み込み」を行うファイル入出力モードです。open 関数で使用します。
定義
- Signature
const string WRITE
詳細
- Details
「書き込み」を行うファイル入出力モードです。open 関数で使用します。
定義
- Signature
const string APPEND
詳細
- Details
「追記書き込み」を行うファイル入出力モードです。open 関数で使用します。
定義
- Signature
const string READ_TSV
詳細
- Details
「TSV読み込み」を行うファイル入出力モードです。open 関数で使用します。
定義
- Signature
const string WRITE_TSV
詳細
- Details
「TSV書き込み」を行うファイル入出力モードです。open 関数で使用します。
定義
- Signature
const string APPEND_TSV
詳細
- Details
「TSV追記書き込み」を行うファイル入出力モードです。open 関数で使用します。
定義
- Signature
const string READ_CSV
詳細
- Details
「CSV読み込み」を行うファイル入出力モードです。open 関数で使用します。
定義
- Signature
const string WRITE_CSV
詳細
- Details
「CSV書き込み」を行うファイル入出力モードです。open 関数で使用します。
定義
- Signature
const string APPEND_CSV
詳細
- Details
「CSV追記書き込み」を行うファイル入出力モードです。open 関数で使用します。
定義
- Signature
const string READ_BINARY
詳細
- Details
「バイナリ読み込み」を行うファイル入出力モードです。open 関数で使用します。
定義
- Signature
const string WRITE_BINARY
詳細
- Details
「バイナリ書き込み」を行うファイル入出力モードです。open 関数で使用します。
定義
- Signature
const string APPEND_BINARY
詳細
- Details
「バイナリ追記書き込み」を行うファイル入出力モードです。open 関数で使用します。
定義
- Signature
const string STDIN
詳細
- Details
標準入力に対してファイル入出力関数を使用するための、特別なファイルパスです。
定義
- Signature
const string STDOUT
詳細
- Details
標準出力に対してファイル入出力関数を使用するための、特別なファイルパスです。
定義
- Signature
const string STDERR
詳細
- Details
標準エラー出力に対してファイル入出力関数を使用するための、特別なファイルパスです。
定義
- Signature
const int UP
詳細
- Details
ゼロを基準とする小数点以下の部分( いわゆる Decimal part )の桁数を指定して、「 切り上げ 」を行う丸めモードです。round 関数で使用します。
定義
- Signature
const int UP_SIGNIF
詳細
- Details
有効数字の部分( いわゆる Significand part )の桁数を指定して、「 切り上げ 」を行う丸めモードです。round 関数で使用します。このモードは、VCSSL 3.3 以前において「 UP 」として試験導入されていたものです。
定義
- Signature
const int DOWN
詳細
- Details
ゼロを基準とする小数点以下の部分( いわゆる Decimal part )の桁数を指定して、「 切り下げ 」を行う丸めモードです。round 関数で使用します。
定義
- Signature
const int DOWN_SIGNIF
詳細
- Details
有効数字の部分( いわゆる Significand part )の桁数を指定として、「 切り下げ 」を行う丸めモードです。round 関数で使用します。このモードは、VCSSL 3.3 以前において「 DOWN 」として試験導入されていたものです。
定義
- Signature
const int HALF_UP
詳細
- Details
ゼロを基準とする小数点以下の部分( いわゆる Decimal part )の桁数を指定して、「 half up 丸め 」を行う丸めモードです。round 関数で使用します。
定義
- Signature
const int HALF_UP_SIGNIF
詳細
- Details
有効数字の部分( いわゆる Significand part )の桁数を指定として、「 half up 丸め 」を行う丸めモードです。round 関数で使用します。このモードは、VCSSL 3.3 以前において「 HALF_UP 」として試験導入されていたものです。
定義
- Signature
const int HALF_DOWN
詳細
- Details
ゼロを基準とする小数点以下の部分( いわゆる Decimal part )の桁数を指定して、「 half down 丸め 」を行う丸めモードです。round 関数で使用します。
定義
- Signature
const int HALF_DOWN_SIGNIF
詳細
- Details
有効数字の部分( いわゆる Significand part )の桁数を指定として、「 half down 丸め 」を行う丸めモードです。round 関数で使用します。このモードは、VCSSL 3.3 以前において「 HALF_DOWN 」として試験導入されていたものです。
定義
- Signature
const int HALF_TO_EVEN
詳細
- Details
ゼロを基準とする小数点以下の部分( いわゆる Decimal part )の桁数を指定して、「 half to even 丸め 」を行う丸めモードです。round 関数で使用します。
定義
- Signature
const int HALF_TO_EVEN_SIGNIF
詳細
- Details
有効数字の部分( いわゆる Significand part )の桁数を指定として、「 half to even 丸め 」を行う丸めモードです。round 関数で使用します。このモードは、VCSSL 3.3 以前において「 HALF_EVEN 」として試験導入されていたものです。

関数 - Functions

定義
- Signature
macro print(...)
詳細
- Details
コンソールに文字列を出力します。引数は任意型であり、自動的に文字列型に変換されます。引数を複数指定した場合、それがどのような形で出力されるかは処理系依存です。恐らく通常は、空白区切りで出力されます。
引数
- Arguments
... : (任意型、可変長引数)出力内容
定義
- Signature
macro println(...)
詳細
- Details
コンソールに文字列を出力し、改行します。引数は任意型であり、自動的に文字列型に変換されます。引数を複数指定した場合、それがどのような形で出力されるかは処理系依存です。恐らく通常は、空白区切りで出力されます。
引数
- Arguments
... : (任意型、可変長引数)出力内容
定義
- Signature
macro output(...)
詳細
- Details
プログラムの処理結果を表示するための領域に、文字列を出力します。引数は任意型であり、自動的に文字列型に変換されます。引数を複数指定した場合、それがどのような形で出力されるかは処理系依存です。恐らく通常は、空白区切りで出力されます。
引数
- Arguments
... : (任意型、可変長引数)出力内容
定義
- Signature
macro input(...)
詳細
- Details
ユーザーから、任意文字列の入力を受け付けます。引数は任意型であり、自動的に文字列型に変換され、入力項目のメッセージとして表示されます。引数を複数指定した場合、それがどのような形で出力されるかは処理系依存です。恐らく通常は、改行区切りで出力されます。なお、最後の引数は、入力項目のデフォルト値として使用されます。
引数
- Arguments
... : (任意型、可変長引数)入力項目のメッセージ(最後の引数はデフォルト値)
戻り値
- Return
(string)ユーザーの入力値
定義
- Signature
macro select(...)
詳細
- Details
ユーザに選択肢を提示し、選択された項目を取得します。引数は任意型であり、自動的に文字列型に変換され、選択肢として表示されます。
引数
- Arguments
... : (任意型、可変長引数)選択肢
戻り値
- Return
(string)選択された値
定義
- Signature
macro alert(...)
詳細
- Details
警告ウィンドウにメッセージを出力し、ユーザーがそれを了承するまで、プログラムの実行を待機します。引数を複数指定した場合、それがどのような形で出力されるかは処理系依存です。恐らく通常は、改行区切りで出力されます。なお、警告の意図のないメッセージの出力には、VCSSL 3.4以降からほぼ同機能の pop 関数が利用できます。今後、alert は警告の意図があるメッセージに対して使用する事が推奨されます。
引数
- Arguments
... : (任意型、可変長引数)メッセージの内容
定義
- Signature
macro pop(...)
詳細
- Details
popup 関数と同じものです。この関数は、data.Stack ライブラリの pop 関数と同一名称であったため、どちらを呼び出しているかをコード上でわかりやすくしたい場合のため、後に同機能の popup 関数が追加されました。なお、Stack ライブラリの pop 関数は型パラメータを持っており、現在のVCSSLでは型パラメータの省略はできないため、この関数とシグネチャが競合する可能性は、少なくとも現時点ではありません。この関数は互換目的でサポートされており、今後も引き続き使用できますが、混乱をなるべく避けるため、特に事情がなければ今後は popup 関数を優先的に使用する事が推奨されます。
定義
- Signature
macro confirm(...)
詳細
- Details
メッセージを出力し、ユーザーに 了承 / 拒否 の二択を提示します。引数を複数指定した場合、それがどのような形で出力されるかは処理系依存です。恐らく通常は、改行区切りで出力されます。
引数
- Arguments
... : (任意型、可変長引数)メッセージの内容
戻り値
- Return
(bool)ユーザーに了承されれば true, 拒否されれば false
定義
- Signature
string[ ] choose()
詳細
- Details
ユーザーにファイルを選択画面を提示し、選択されるまでプログラムの実行を待機します。
戻り値
- Return
選択されたファイルのパス
定義
- Signature
string[ ] choose(string message)
詳細
- Details
ユーザーにファイルを選択画面を提示し、選択されるまでプログラムの実行を待機します。
引数
- Arguments
message : ファイル選択画面のメッセージ
戻り値
- Return
選択されたファイルのパス
定義
- Signature
string[ ] choose(string message, string directory)
詳細
- Details
ユーザーにファイルを選択画面を提示し、選択されるまでプログラムの実行を待機します。
引数
- Arguments
message : ファイル選択画面のメッセージ
directory : ファイル選択画面が開かれた時の表示ディレクトリ
戻り値
- Return
選択されたファイルのパス
定義
- Signature
void beep()
詳細
- Details
ビープ音を鳴らします。ただし、実際に鳴らせるかどうかは環境に依存します。場合によっては、ビープ音でない音(オペレーティングシステムの警告音など)が鳴る事もあります。
定義
- Signature
void beep(int repeat)
詳細
- Details
ビープ音を鳴らします。ただし、実際に鳴らせるかどうかは環境に依存します。場合によっては、ビープ音でない音(オペレーティングシステムの警告音など)が鳴る事もあります。
引数
- Arguments
repeat : 鳴らす回数
定義
- Signature
void beep(int repeat, int wait)
詳細
- Details
ビープ音を鳴らします。ただし、実際に鳴らせるかどうかは環境に依存します。場合によっては、ビープ音でない音(オペレーティングシステムの警告音など)が鳴る事もあります。
引数
- Arguments
repeat : 鳴らす回数
wait : 鳴らす間隔(ミリ秒)
定義
- Signature
void clear()
詳細
- Details
コンソールの内容をクリアします。ただし、この関数の挙動は処理系依存です。例えば、コンソールの内容が、処理系に付属したウィンドウに表示されるような場合においては、恐らく期待した通りの結果が得られます。しかし、コンソールウィンドウを持たない、標準入出力ベースの処理系においては、恐らく何も行われません。
定義
- Signature
void hide()
詳細
- Details
コンソールを非表示にします。ただし、この関数の挙動は処理系依存です。例えば、コンソールの内容が、処理系に付属したウィンドウに表示されるような場合においては、恐らく期待した通りの結果が得られます。しかし、コンソールウィンドウを持たない、標準入出力ベースの処理系においては、恐らく何も行われません。
定義
- Signature
void show()
詳細
- Details
コンソールが非表示にされている場合、表示します。ただし、この関数の挙動は処理系依存です。例えば、コンソールの内容が、処理系に付属したウィンドウに表示されるような場合においては、恐らく期待した通りの結果が得られます。しかし、コンソールウィンドウを持たない、標準入出力ベースの処理系においては、恐らく何も行われません。
定義
- Signature
macro sleep(int milliSecond)
詳細
- Details
プログラムの実行を一時停止します。
引数
- Arguments
milliSecond : 一時停止する時間(ミリ秒)
定義
- Signature
void exit()
詳細
- Details
プログラムの実行を終了します。なお、この関数は、処理系にプログラムの終了をリクエストするものであり、必ずしも即時的に実行が終了される事が保証されるものではありません。この関数をコールするには、全てのループや分岐を抜けた後のプログラム最終行など、処理系がアイドリング状態となっているタイミングが理想的です。処理系が高速に処理を行っているタイミングでこの関数をコールすると、強制終了に近い状態となります。詳細は処理系の実装や最適化の方針などに依存しますが、処理系は、この関数がコールされた時点で、即時的に中断できないような一連の演算処理を行っている最中かもしれません。その場合はタイムラグが生じ、コール後も少しの間、実行が継続される場合があります。
定義
- Signature
void exit(int code)
詳細
- Details
終了ステータスコードを指定して、プログラムの実行を終了します。なお、この関数は、処理系にプログラムの終了をリクエストするものであり、必ずしも即時的に実行が終了される事が保証されるものではありません。この関数をコールするには、全てのループや分岐を抜けた後のプログラム最終行など、処理系がアイドリング状態となっているタイミングが理想的です。処理系が高速に処理を行っているタイミングでこの関数をコールすると、強制終了に近い状態となります。詳細は処理系の実装や最適化の方針などに依存しますが、処理系は、この関数がコールされた時点で、即時的に中断できないような一連の演算処理を行っている最中かもしれません。その場合はタイムラグが生じ、コール後も少しの間、実行が継続される場合があります。
引数
- Arguments
code : 終了ステータスコード
定義
- Signature
void reset(string programName, string args[ ])
詳細
- Details
処理系をリセットし、別のプログラムを実行します。
引数
- Arguments
programName : プログラム名またはパス
args : main関数に渡す引数
定義
- Signature
macro error(...)
詳細
- Details
エラーメッセージを出力します。エラーメッセージ出力後、プログラムの実行が終了されるか、継続されるかは、処理系に依存します。確実に終了させたい場合は、続けて exit をコールしてください。
引数
- Arguments
... : (任意型、可変長引数)エラーメッセージ
定義
- Signature
macro assert(bool expression)
詳細
- Details
式の値を評価し、真であれば何も行わず、偽であればエラーメッセージを出力します。プログラムの実行は恐らく終了されます。この関数はテストに使用します。
引数
- Arguments
expression : 評価対象の式
定義
- Signature
macro exec(...)
詳細
- Details
オペレーティングシステムのコマンド、または外部プログラムを、別プロセスで非同期で実行します。呼び出し元プログラムの実行は、処理の完了を待機しません。生成したプロセスと並列的に、実行を継続します。処理の実行を待機したり、標準入出力を制御したい場合は、Process ライブラリを使用してください。
引数
- Arguments
(string)コマンドや外部プログラムの絶対パス, : (任意型)引数1, (任意型)引数2, ...
戻り値
- Return
(int)生成したプロセスの識別番号(プロセスID)
定義
- Signature
macro system(...)
詳細
- Details
オペレーティングシステムのコマンド、または外部プログラムを、同期実行します。処理が完了するまで、呼び出し元プログラムの実行は待機します。
引数
- Arguments
(string)コマンドや外部プログラムの絶対パス, : (任意型)引数1, (任意型)引数2, ...
戻り値
- Return
(int)実行したコマンドや外部プログラムの終了ステータスコード
定義
- Signature
bool exists(string filePath)
詳細
- Details
ファイルが存在するか確認します。
引数
- Arguments
filePath : ファイル名またはパス
戻り値
- Return
ファイルが存在すれば true, 存在しなければ false
定義
- Signature
void mkdir(string directoryPath)
詳細
- Details
ディレクトリ(フォルダ)を新規生成します。ディレクトリが既に存在した場合は、何もしません。
引数
- Arguments
directoryPath : ディレクトリ名またはパス
定義
- Signature
bool isdir(string filePath)
詳細
- Details
ファイルがディレクトリかどうかを確認します。
引数
- Arguments
filePath : 確認対象ファイルのファイル名またはパス
戻り値
- Return
ディレクトリであれば true, そうでなければ false
定義
- Signature
string[ ] listdir(string directoryPath)
詳細
- Details
ディレクトリ内のファイル名一覧を返します。
引数
- Arguments
directoryPath : ディレクトリ名またはパス
戻り値
- Return
ディレクトリ内のファイル名一覧
定義
- Signature
macro rank(...)
詳細
- Details
配列の次元数を返します。例えば配列 a[11][28][32] に対して、rank(a) は 3 です。
引数
- Arguments
... : (任意型)次元数を知りたい配列
戻り値
- Return
(int)配列の次元数
定義
- Signature
macro length(...)
詳細
- Details
配列の要素数を返します。第二引数には、要素数を知りたい次元を、左から 0, 1, 2, ... と数えたインデックスを指定します。例えば配列 a[11][28][32] に対して、length(a, 0) は 11 であり、length(a, 1) は 28 であり、 length(a, 2) は 32 です。
引数
- Arguments
... : (任意型)要素数を知りたい配列, (int)次元インデックス
戻り値
- Return
(int)配列の要素数
定義
- Signature
bool nan( float value )
詳細
- Details
float 型の変数または値が、NaN (非数) かどうか判定します。
引数
- Arguments
value : 判定したい変数または値
戻り値
- Return
NaN であれば true, そうでなければ false
定義
- Signature
bool inf( float value )
詳細
- Details
float 型の変数または値が、Inf (無限大) かどうか判定します。
引数
- Arguments
value : 判定したい変数または値
戻り値
- Return
Inf であれば true, そうでなければ false
定義
- Signature
string bin( int number )
詳細
- Details
int 型の変数または値を、2進数で表した文字列を返します。先頭には 0b のプレフィックスが付加されます。
引数
- Arguments
number : 2進数で表したい変数または値
戻り値
- Return
2進数で表した文字列
定義
- Signature
string oct( int number )
詳細
- Details
int 型の変数または値を、8進数で表した文字列を返します。先頭には 0 のプレフィックスが付加されます。
引数
- Arguments
number : 8進数で表したい変数または値
戻り値
- Return
8進数で表した文字列
定義
- Signature
string hex( int number )
詳細
- Details
int 型の変数または値を、16進数で表した文字列を返します。先頭には 0x のプレフィックスが付加されます。
引数
- Arguments
number : 16進数で表したい変数または値
戻り値
- Return
16進数で表した文字列
定義
- Signature
macro digit(arg)
詳細
- Details
varfloat 型または varcomplex 型の演算桁数を指定します。
引数
- Arguments
arg : 桁数
定義
- Signature
macro digit()
詳細
- Details
varfloat 型または varcomplex 型の演算桁数を取得します。
戻り値
- Return
桁数
定義
- Signature
float round(float value, int digit, int mode)
詳細
- Details
float型の値を、指定されたモードで、指定された桁数に丸めます。
引数
- Arguments
value : 丸めたい値
digit : 丸めた後の桁数
mode : 丸めモード ( UP_SIGNIFDOWN_SIGNIFHALF_UP_SIGNIFHALF_DOWN_SIGNIFHALF_TO_EVEN_SIGNIF, UPDOWNHALF_UPHALF_DOWNHALF_TO_EVEN )
戻り値
- Return
丸められた値
定義
- Signature
complex round(complex value, int digit, int mode)
詳細
- Details
complex型の値を、指定されたモードで、指定された桁数に丸めます。
引数
- Arguments
value : 丸めたい値
digit : 丸めた後の桁数
mode : 丸めモード ( UP_SIGNIFDOWN_SIGNIFHALF_UP_SIGNIFHALF_DOWN_SIGNIFHALF_TO_EVEN_SIGNIF, UPDOWNHALF_UPHALF_DOWNHALF_TO_EVEN )
戻り値
- Return
丸められた値
定義
- Signature
varfloat round(varfloat value, varint digit, int mode)
詳細
- Details
varfloat型の値を、指定されたモードで、指定された桁数に丸めます。
引数
- Arguments
value : 丸めたい値
digit : 丸めた後の桁数
mode : 丸めモード ( UP_SIGNIFDOWN_SIGNIFHALF_UP_SIGNIFHALF_DOWN_SIGNIFHALF_TO_EVEN_SIGNIF, UPDOWNHALF_UPHALF_DOWNHALF_TO_EVEN )
戻り値
- Return
丸められた値
定義
- Signature
varcomplex round(varcomplex value, varint digit, int mode)
詳細
- Details
varcomplex型の値を、指定されたモードで、指定された桁数に丸めます。
引数
- Arguments
value : 丸めたい値
digit : 丸めた後の桁数
戻り値
- Return
丸められた値
定義
- Signature
void round(int mode)
詳細
- Details
varfloat 型および varcomplex 型の演算における、デフォルトの丸めモードを指定します。なお、varfloat 型および varcomplex 型の丸め制御と、この関数の実装は、現在は試験的に導入されているものです。現時点では、あらゆる演算において指定通りに丸め制御が行われる事は、必ずしも保証されません。使用する際には、事前に検証を行って下さい。varfloat 型および varcomplex 型の丸め制御、及びこの round 関数の実装は、試験導入期間を経た上で、VCSSL 4 以降での正式導入を予定しています。
引数
- Arguments
mode : 丸めモード ( UP_SIGNIFDOWN_SIGNIFHALF_UP_SIGNIFHALF_DOWN_SIGNIFHALF_TO_EVEN_SIGNIF )
定義
- Signature
float re( complex value )
詳細
- Details
complex 型の実部を返します。
引数
- Arguments
value : 実部を取得したい変数または値
戻り値
- Return
実部
定義
- Signature
float im( complex value )
詳細
- Details
complex 型の虚部を返します。
引数
- Arguments
value : 虚部を取得したい変数または値
戻り値
- Return
虚部
定義
- Signature
void re( complex value, float realValue )
詳細
- Details
complex 型の実部を設定します。
引数
- Arguments
value : 実部を設定したい変数または値
realValue : 実部の値
定義
- Signature
void im( complex value, float imagValue )
詳細
- Details
complex 型の虚部を設定します。
引数
- Arguments
value : 虚部を設定したい変数または値
imagValue : 虚部の値
定義
- Signature
varfloat re( varcomplex value )
詳細
- Details
varcomplex 型の実部を返します。
引数
- Arguments
value : 実部を取得したい変数または値
戻り値
- Return
実部
定義
- Signature
varfloat im( varcomplex value )
詳細
- Details
varcomplex 型の虚部を返します。
引数
- Arguments
value : 虚部を取得したい変数または値
戻り値
- Return
虚部
定義
- Signature
void re( varcomplex value, varfloat realValue )
詳細
- Details
varcomplex 型の実部を設定します。
引数
- Arguments
value : 実部を設定したい変数または値
realValue : 実部の値
定義
- Signature
void im( varcomplex value, varfloat imagValue )
詳細
- Details
varcomplex 型の虚部を設定します。
引数
- Arguments
value : 虚部を設定したい変数または値
imagValue : 虚部の値
定義
- Signature
macro save(string filePath, content)
詳細
- Details
簡易ファイル出力関数です。string 変数の保持する内容を、ファイルに保存します。
引数
- Arguments
filePath : ファイル名またはパス
content : ファイルに保存する内容
定義
- Signature
void save(string filePath)
詳細
- Details
簡易ファイル出力関数です。現在コンソールに表示されている内容を、ファイルに保存します。ただし、この関数の挙動は処理系依存です。例えば、コンソールの内容が、処理系に付属したウィンドウに表示されるような場合においては、恐らく期待した通りの結果が得られます。しかし、コンソールウィンドウを持たない、標準入出力ベースの処理系においては、恐らく何も行われません。
引数
- Arguments
filePath : ファイル名またはパス
定義
- Signature
string load(string filePath)
詳細
- Details
簡易ファイル入力関数です。ファイルの内容を全て読み込み、そのまま文字列として返します。読み込み後、ファイルは自動的に閉じられます。
引数
- Arguments
filePath : ファイル名またはパス
戻り値
- Return
読み込んだ内容
定義
- Signature
string load()
詳細
- Details
簡易ファイル入力関数です。現在コンソールに表示されている内容を取得し、そのまま文字列として返します。ただし、この関数の挙動は処理系依存です。例えば、コンソールの内容が、処理系に付属したウィンドウに表示されるような場合においては、恐らく期待した通りの結果が得られます。しかし、コンソールウィンドウを持たない、標準入出力ベースの処理系においては、恐らく何も得られません。
戻り値
- Return
コンソールから取得した内容
定義
- Signature
int open(string filePath, string mode)
詳細
- Details
ファイルを開き、固有の識別番号( ファイルID )を割り振って返します。引数 filePath には、通常はファイル名またはパスを指定しますが、代わりに STDINSTDOUT, STDERR を指定して標準入出力に読み書きする事も可能です。
引数
- Arguments
filePath : ファイル名またはパス
mode : ファイル入出力モード( "r" または READ、 "w" または WRITE、 "a" または APPEND、 "rtsv" または READ_TSV、 "wtsv" または WRITE_TSV、 "atsv" または APPEND_TSV、 "rcsv" または READ_CSV、 "rcsv" または WRITE_CSV、 "acsv" または APPEND_CSV、 "rb" または READ_BINARY、 "wb" または WRITE_BINARY、 "ab" または APPEND_BINARY
戻り値
- Return
ファイルID
定義
- Signature
int open(string filePath, string mode, string textEncoding)
詳細
- Details
ファイルを開き、固有の識別番号( ファイルID )を割り振って返します。引数 filePath には、通常はファイル名またはパスを指定しますが、代わりに STDINSTDOUT, STDERR を指定して標準入出力に読み書きする事も可能です。
引数
- Arguments
filePath : ファイル名またはパス
mode : ファイル入出力モード( "r" または READ、 "w" または WRITE、 "a" または APPEND、 "rtsv" または READ_TSV、 "wtsv" または WRITE_TSV、 "atsv" または APPEND_TSV、 "rcsv" または READ_CSV、 "rcsv" または WRITE_CSV、 "acsv" または APPEND_CSV、 "rb" または READ_BINARY、 "wb" または WRITE_BINARY、 "ab" または APPEND_BINARY
textEncoding : 文字コード( "Shift_JIS"、 "UTF-8"、 "EUC-JP" )
戻り値
- Return
ファイルID
定義
- Signature
macro openw(...)
詳細
- Details
この関数は VCSSL 1.0 世代のものであり、open( filePath, "wtsv" ) と同等の機能でファイルを開きます。この関数は互換目的でサポートされています。
定義
- Signature
macro opencsvw(...)
詳細
- Details
この関数は VCSSL 1.0 世代のものであり、open( filePath, "wcsv" ) と同等の機能でファイルを開きます。この関数は互換目的でサポートされています。
定義
- Signature
macro openr(...)
詳細
- Details
この関数は VCSSL 1.0 世代のものであり、open( filePath, "rtsv" ) と同等の機能でファイルを開きます。この関数は互換目的でサポートされています。
定義
- Signature
macro opencsvr(...)
詳細
- Details
この関数は VCSSL 1.0 世代のものであり、open( filePath, "rcsv" ) と同等の機能でファイルを開きます。この関数は互換目的でサポートされています。
定義
- Signature
void close(int fileID)
詳細
- Details
ファイルを閉じます。この時点で、バッファされている書き込み内容は全てフラッシュされます。
引数
- Arguments
fileID : ファイルID
定義
- Signature
void flush(int fileID)
詳細
- Details
ファイルのバッファされている書き込み内容をフラッシュします。
引数
- Arguments
fileID : ファイルID
定義
- Signature
macro write(int fileID, ...)
詳細
- Details
ファイルに内容を書き込みます。書き込み内容は任意型で、書き込み時に文字列に変換されます。書き込み内容を複数指定した場合、それがどのような形で書き込まれるかは、ファイル入出力モードに依存します。
"w" または WRITE モードの場合
書き込み内容が、そのまま連結されて書き込まれます。
"wtsv" または WRITE_TSV モードの場合
書き込み内容が、タブ文字区切りで連結されて書き込まれます。
"wcsv" または WRITE_CSV モードの場合
書き込み内容が、カンマ文字区切りで連結されて書き込まれます。
なおこの関数は、VCSSL2.1以前では改行されますが、2.2以降では改行されません。改行付きの機能は writeln 関数が提供します。
引数
- Arguments
fileID : ファイルID
... : (任意型、可変長引数)書き込み内容
定義
- Signature
macro writeln(int fileID, ...)
詳細
- Details
ファイルに内容を書き込み、改行します。書き込み内容は任意型で、書き込み時に文字列に変換されます。書き込み内容を複数指定した場合、それがどのような形で書き込まれるかは、ファイル入出力モードに依存します。
"w" または WRITE モードの場合
書き込み内容が、そのまま連結されて書き込まれます。
"wtsv" または WRITE_TSV モードの場合
書き込み内容が、タブ文字区切りで連結されて書き込まれます。
"wcsv" または WRITE_CSV モードの場合
書き込み内容が、カンマ文字区切りで連結されて書き込まれます。
なお、改行コードには、実行環境に適切なものが自動的に採用されます。もしも、LFCR などの特定の改行コードを使用したい場合は、この関数の代わりに write 関数を使用し、書き込み内容に LFCR を付加して書き込んでください。
引数
- Arguments
fileID : ファイルID
... : (任意型、可変長引数)書き込み内容
定義
- Signature
string[ ] read(int fileID)
詳細
- Details
ファイルの内容を全て読み込みます。戻り値は string 型配列ですが、これに読み込み内容がどのように格納されるのかは、ファイル入出力モードに依存します。
"r" または READ モードの場合
ファイルの内容がそのまま、要素数 1 の string 型配列に格納して返されます。
"rtsv" または READ_TSV モードの場合
ファイルの内容が、空白及び改行区切りで、string 型配列に格納して返されます。タブ文字と半角空白は同一視されます。
"rcsv" または READ_CSV モードの場合
ファイルの内容が、カンマ記号及び改行区切りで、string 型配列に格納して返されます。
CSV や TSV の読み込みでは、エンクロージャやデリミタの解釈は行われず、単純に区切り文字が存在する位置で区切られます。また、TSV ではタブ文字と半角空白は区別されません。このあたりの挙動を、より厳密に制御したい場合は、file.TextFile ライブラリを使用してください。なおこの関数は、VCSSL2.1以前では行単位の読み込みでしたが、VCSSL2.2以降から全体の読み込みに変更されました。行単位の、過去と同様の機能は readln 関数が提供します。
引数
- Arguments
fileID : ファイルID
戻り値
- Return
(string[])読み込み内容
定義
- Signature
string[ ] readln(int fileID)
詳細
- Details
ファイルから一行の内容を読み込みます。戻り値は string 型配列ですが、これに読み込み内容がどのように格納されるのかは、ファイル入出力モードに依存します。
"r" または READ モードの場合
ファイルの内容がそのまま、要素数 1 の string 型配列に格納して返されます。
"rtsv" または READ_TSV モードの場合
ファイルの内容が、空白区切りで、string 型配列に格納して返されます。タブ文字と半角空白は同一視されます。
"rcsv" または READ_CSV モードの場合
ファイルの内容が、カンマ記号区切りで、string 型配列に格納して返されます。
なお、CSV や TSV の読み込みでは、エンクロージャやデリミタの解釈は行われず、単純に区切り文字が存在する位置で区切られます。また、TSV ではタブ文字と半角空白は区別されません。このあたりの挙動を、より厳密に制御したい場合は、file.TextFile ライブラリを使用してください。
引数
- Arguments
fileID : ファイルID
戻り値
- Return
(string[])読み込み内容
定義
- Signature
string load(int fileID)
詳細
- Details
ファイルの内容を全て読み込み、そのまま文字列として返します。
引数
- Arguments
fileID : ファイルID
戻り値
- Return
読み込んだ内容
定義
- Signature
string loadln(int fileID)
詳細
- Details
ファイルから一行の内容を全て読み込み、そのまま文字列として返します。
引数
- Arguments
fileID : ファイルID
戻り値
- Return
読み込んだ内容
定義
- Signature
int countln(int fileID)
詳細
- Details
ファイルの行数をカウントします。
引数
- Arguments
fileID : ファイルID
戻り値
- Return
ファイル行数
定義
- Signature
macro eval(string expression)
詳細
- Details
文字列を式として評価します。レキシカルスコープで、変数や関数へのアクセスも可能です。また、代入を行う事もできます。戻り値には、式の値が string 型配列に変換されて返されます ( 式の値が非配列であった場合は、戻り値の要素数は 1 となります )。string 型配列は、最も変換自由度の高い型であり、あらゆるプリミティブ型の配列と非配列に代入できます ( 非配列へは要素数が1の場合に限り可能です )。反面、繰り返し高速に評価したい場合、特に戻り値が int 型や float 型である場合においては、文字列を介する型変換がボトルネックとなります。そういった場合は、評価式の中で結果を変数に代入し、戻り値を利用せずに捨てる事で、ボトルネックを回避できます。
引数
- Arguments
expression : 評価する式
戻り値
- Return
式の値
定義
- Signature
macro eval(string expression, literalType)
詳細
- Details
文字列を式として評価します。引数 1 個の eval 関数と異なるのは、式中でサフィックスが明示されていない数値リテラルを、どの型と解釈するか指定できる点です。例えば "1 / 2" の式は、通常は int 型同士の除算となるため、値は 0 です。これを float 型同士の除算と見なして 0.5 を得たい場合には、第二引数に float 型の値 ( 0.0 など ) を指定してください。なお第二引数は、型のみが意味を持ち、値は無視されます(しかしながら、初来的に何らかの意味づけが加えられる可能性もあるため、特に理由が無ければ 0 や 0.0 を指定する事が推奨されます)。
引数
- Arguments
expression : 評価する式
expression : サフィックスの付いていない数値リテラルに割り当てる型 ( の変数 )
戻り値
- Return
(string[])式の値
定義
- Signature
macro feval(string expression)
詳細
- Details
文字列を式として評価し、値を float 型の非配列で返します。
引数
- Arguments
expression : 評価する式
戻り値
- Return
(float)式の値
定義
- Signature
macro feval(string expression, literalType)
詳細
- Details
文字列を式として評価し、値を float 型の非配列で返します。
引数
- Arguments
expression : 評価する式
expression : サフィックスの付いていない数値リテラルに割り当てる型 ( の変数 )
戻り値
- Return
(flaot)式の値
定義
- Signature
macro ieval(string expression)
詳細
- Details
文字列を式として評価し、値を int 型の非配列で返します。
引数
- Arguments
expression : 評価する式
戻り値
- Return
(int)式の値
定義
- Signature
macro ieval(string expression, literalType)
詳細
- Details
文字列を式として評価し、値を int 型の非配列で返します。
引数
- Arguments
expression : 評価する式
expression : サフィックスの付いていない数値リテラルに割り当てる型 ( の変数 )
戻り値
- Return
(int)式の値
定義
- Signature
macro ceval(string expression)
詳細
- Details
文字列を式として評価し、値を complex 型の非配列で返します。
引数
- Arguments
expression : 評価する式
戻り値
- Return
(complex)式の値
定義
- Signature
macro ceval(string expression, literalType)
詳細
- Details
文字列を式として評価し、値を complex 型の非配列で返します。
引数
- Arguments
expression : 評価する式
expression : サフィックスの付いていない数値リテラルに割り当てる型 ( の変数 )
戻り値
- Return
(complex)式の値
定義
- Signature
macro beval(string expression)
詳細
- Details
文字列を式として評価し、値を bool 型の非配列で返します。
引数
- Arguments
expression : 評価する式
戻り値
- Return
(bool)式の値
定義
- Signature
macro beval(string expression, literalType)
詳細
- Details
文字列を式として評価し、値を bool 型の非配列で返します。
引数
- Arguments
expression : 評価する式
expression : サフィックスの付いていない数値リテラルに割り当てる型 ( の変数 )
戻り値
- Return
(bool)式の値
定義
- Signature
macro seval(string expression)
詳細
- Details
文字列を式として評価し、値を string 型の非配列で返します。
引数
- Arguments
expression : 評価する式
戻り値
- Return
(string)式の値
定義
- Signature
macro seval(string expression, literalType)
詳細
- Details
文字列を式として評価し、値を string 型の非配列で返します。
引数
- Arguments
expression : 評価する式
expression : サフィックスの付いていない数値リテラルに割り当てる型 ( の変数 )
戻り値
- Return
(string)式の値
定義
- Signature
macro vfeval(string expression)
詳細
- Details
文字列を式として評価し、値を varfloat 型の非配列で返します。
引数
- Arguments
expression : 評価する式
戻り値
- Return
(varfloat)式の値
定義
- Signature
macro vfeval(string expression, literalType)
詳細
- Details
文字列を式として評価し、値を varfloat 型の非配列で返します。
引数
- Arguments
expression : 評価する式
expression : サフィックスの付いていない数値リテラルに割り当てる型 ( の変数 )
戻り値
- Return
(varfloat)式の値
定義
- Signature
macro vieval(string expression)
詳細
- Details
文字列を式として評価し、値を varint 型の非配列で返します。
引数
- Arguments
expression : 評価する式
戻り値
- Return
(varint)式の値
定義
- Signature
macro vieval(string expression, literalType)
詳細
- Details
文字列を式として評価し、値を varint 型の非配列で返します。
引数
- Arguments
expression : 評価する式
expression : サフィックスの付いていない数値リテラルに割り当てる型 ( の変数 )
戻り値
- Return
(varint)式の値
定義
- Signature
macro vceval(string expression)
詳細
- Details
文字列を式として評価し、値を varcomplex 型の非配列で返します。
引数
- Arguments
expression : 評価する式
戻り値
- Return
(varcomplex)式の値
定義
- Signature
macro vceval(string expression, literalType)
詳細
- Details
文字列を式として評価し、値を varcomplex 型の非配列で返します。
引数
- Arguments
expression : 評価する式
expression : サフィックスの付いていない数値リテラルに割り当てる型 ( の変数 )
戻り値
- Return
(varcomplex)式の値
定義
- Signature
macro evaluable(string expression)
詳細
- Details
式の内容が構文的に正しいかどうかを判定します。eval 関数は構文解析に失敗すると処理速度が低下するため、式を高速に繰り返し評価したい場合、事前にこの関数で式の正当性を確認しておく事が推奨されます。
引数
- Arguments
expression : 評価する式
戻り値
- Return
式が構文的に正しければ true, そうでなければ false
定義
- Signature
macro evaluable(string expression, literalType)
詳細
- Details
式の内容が構文的に正しいかどうかを判定します。eval 関数は構文解析に失敗すると処理速度が低下するため、式を高速に繰り返し評価したい場合、事前にこの関数で式の正当性を確認しておく事が推奨されます。
引数
- Arguments
expression : 評価する式
expression : サフィックスの付いていない数値リテラルに割り当てる型 ( の変数 )
戻り値
- Return
式が構文的に正しければ true, そうでなければ false
定義
- Signature
macro evaltr(string expression)
詳細
- Details
文字列を式として評価し、処理系の内部処理情報を返します。内容は完全に処理系依存です。なお、利用できる式には処理系依存の制約があり、必ずしも通常の式評価と整合する内容を返すとは限りません。また、一般に副作用のある式には使用できません。この関数は、主に開発時やデバッグ時に使用します。
引数
- Arguments
expression : 評価する式
戻り値
- Return
(string[])処理系の内部処理情報
定義
- Signature
macro evaltr(string expression, literalType)
詳細
- Details
文字列を式として評価し、処理系の内部処理情報を返します。内容は完全に処理系依存です。なお、利用できる式には処理系依存の制約があり、必ずしも通常の式評価と整合する内容を返すとは限りません。また、一般に副作用のある式には使用できません。この関数は、主に開発時やデバッグ時に使用します。
引数
- Arguments
expression : 評価する式
expression : サフィックスの付いていない数値リテラルに割り当てる型 ( の変数 )
戻り値
- Return
(string[])処理系の内部処理情報
定義
- Signature
macro override(string functionName, string argumentType[ ], string functionCode)
詳細
- Details
関数の処理内容を、実行時に変更します。eval 関数は、ローカル変数の宣言や、複数の文を実行できないため、そのような処理を動的評価で行いたい場合には、この関数を使用します。なお、この関数でできるのは、既存の関数の処理内容を変更する事のみであり、新しい関数を宣言する事はできません。
引数
- Arguments
functionName : 関数名
argumentType : 引数の型を文字列で記述した配列( 例えば "int" や "float" を格納 )
functionCode : 関数の(プログラムとしての)記述内容
定義
- Signature
string lf()
詳細
- Details
環境依存の改行コードを返します。VCSSL 3 以降では、定数 EOL をそのまま改行コードとして使用できます。この関数は、関数コールのオーバーヘッドを無駄に要します。新しいプログラムでは 定数 EOL の使用が推奨されます。この関数は互換目的でサポートされています。
引数
- Arguments
環境依存の改行コード :
定義
- Signature
string linefeed()
詳細
- Details
環境依存の改行コードを返します。VCSSL 3 以降では、定数 EOL をそのまま改行コードとして使用できます。この関数は、関数コールのオーバーヘッドを無駄に要します。新しいプログラムでは 定数 EOL の使用が推奨されます。この関数は互換目的でサポートされています。
引数
- Arguments
環境依存の改行コード :

イベントハンドラ - Event Handler

定義
- Signature
void main( )
詳細
- Details
いわゆる main 関数です。全モジュールのグローバル領域の処理(例えばグローバル定数の初期化など)が完了した時点で、自動的にコールされます。複数のモジュールにおいて main 関数が存在する場合、モジュールの読み込み順序に基づいて、最後に定義されたものだけがコールされます(この点は一般のイベントハンドラと異なります)。
定義
- Signature
void main( string args[ ] )
詳細
- Details
いわゆる main 関数です。全モジュールのグローバル領域の処理(例えばグローバル定数の初期化など)が完了した時点で、自動的にコールされます。複数のモジュールにおいて main 関数が存在する場合、モジュールの読み込み順序に基づいて、最後に定義されたものだけがコールされます(この点は一般のイベントハンドラと異なります)。
引数
- Arguments
args[] : コマンドライン端末などから、プログラムの起動時に指定された引数が、空白区切りで配列化されて渡されます。

この階層の目次
お知らせ

Vnanoの公式サイトがオープン、チュートリアルやAPI仕様書等も掲載
2019年08月07日 - オープンソースのアプリケーション組み込み用スクリプトエンジン「 Vnano 」の公式サイトを開設しました。チュートリアルや、スクリプトエンジンのAPI仕様書などが参照できます。その概要をお知らせします。

リニアングラフ3D/2Dが連番ファイルのアニメーションに標準で対応
2019年07月17日 - リニアングラフ3D/2Dでは、7月17日公開の最新版より、連番ファイルを連続的に読み込みながらアニメーション描画するプログラムを同梱し、メニューから標準で使用可能になりました。その概要をお知らせします。

Vnanoのスクリプトエンジンアーキテクチャ解説2: コンパイラ
2019年07月03日 - オープンソースで開発中のスクリプトエンジン「 Vnano 」のアーキテクチャを解説する連載の第2回です。今回は、スクリプトを中間コードへと変換する、コンパイラ部分の内部をクローズアップして解説します。

新着
[公式ガイドサンプル] ユーザーのGUI操作に対して処理を行う

「VCSSL GUI開発ガイド」内のサンプルコードです。ユーザーがGUIを操作した際に行う処理を実装します。
2019年07月28日
[公式ガイドサンプル] 各種GUIコンポーネントを画面上に配置する

「VCSSL GUI開発ガイド」内のサンプルコードです。色々な種類のGUI部品を画面上に配置します。
2019年07月28日
連番ファイルから3Dグラフをアニメーション描画するツール

フォルダ内の連番データファイルを読み込み、3Dグラフを高速で連続描画して、アニメーションさせるツールです。グラフを連番の画像ファイルに保存する事もできます。
2019年06月03日
連番ファイルから2Dグラフをアニメーション描画するツール

フォルダ内の連番データファイルを読み込み、2Dグラフを高速で連続描画して、アニメーションさせるツールです。グラフを連番の画像ファイルに保存する事もできます。
2019年05月24日
[公式ガイドサンプル] 立体モデルを生成して3D空間に配置する

「VCSSL 3DCG開発ガイド」内のサンプルコードです。立体モデルを生成し、3D空間に配置します。
2019年05月21日
開発元Twitterアカウント