YAYA Tc534-1 で使用できる関数を掲載しています。
このページはAYA 5.8マニュアルを原型にして作られています。一部テキストは文Wiki「文屋」からの転載です。
最新版YAYAのダウンロードはYAYA配布ページから行ってください。
YAYAの更新履歴はYAYA ChangeLog、マニュアル・Tips等は文Wiki「文屋」を参照してください。
[v4]とあるものはAYA version 4の同名の関数と完全に同機能です。
[v4:...]とあるものはAYA version 4に同種の関数が存在することを示しています。
無印のものはAYA version 5で新たに追加された関数です。
[yaya]とあるものはYAYAで新たに追加された関数です。
A
B
C
D
E
F
G
H
I
L
M
P
R
S
T
U
Z
- ACOS
アーク・コサインを返します。引数の単位はradianです。
- ANY
文字列を与えた場合、それを簡易配列と見なして要素のうちの一つを無作為に選び返します。変数で与えた場合はそのデリミタが考慮されます。
汎用配列を与えた場合はその要素のうちの一つを無作為に選び返します。
整数もしくは実数を与えた場合はそれがそのまま返ります。引数が無いときは空の文字列を返します。
選択した序数はLSOで取得できます。
- ARRAYSIZE [v4:簡易配列部のみ互換性あり、引数2つのバージョンは廃止]
簡易配列、もしくは汎用配列の要素数を返します。
- ASEARCH
汎用配列から値をひとつ検索します。第一引数にキー値を、第二引数以降に汎用配列を指定(簡易配列は不可)。
最初に見つかった要素の序数が返ります。見つからなかった場合は-1。
_tea = ("鉄観音", "烏龍", "やぶきた", "ジャスミン")
ipod = ASEARCH("烏龍", _tea)
ipodには 1 が格納されます。
nyaoh = ASEARCH("猫", "キリン", "猿", "ぞう", "猫", "兎")
nyaohには 3 が格納されます。
アルゴリズムは先頭から逐次比較する単純な線形探索ですので、処理に要する時間は配列サイズに比例して増大します。
- ASEARCHEX
汎用配列から値を検索します。第一引数にキー値を、第二引数以降に汎用配列を指定(簡易配列は不可)。
発見された要素の序数が列挙された汎用配列が返ります。見つからなかった場合はIARRAY。
_tea = ("鉄観音", "烏龍", "やぶきた", "烏龍", "ジャスミン")
ipod = ASEARCHEX("烏龍", _tea)
ipodには汎用配列 (1,3) が格納されます。
- ASIN
アーク・サインを返します。引数の単位はradianです。
- ATAN
アーク・タンジェントを返します。引数の単位はradianです。
↑
- BINSTRTOI [v4:BINSTRTONUMを改名]
2進数値文字列を整数へ変換します。引数が異常の場合は0を返します。
- BITWISE_AND [yaya]
第一引数(数値)と第二引数(数値)のビットAND演算を行います。
- BITWISE_NOT [yaya]
第一引数(数値)のビットNOT演算を行います。
- BITWISE_OR [yaya]
第一引数(数値)と第二引数(数値)のビットOR演算を行います。
- BITWISE_SHIFT [yaya]
第一引数(数値)のビットシフト演算を行います。シフト量を第二引数(数値)で指定します。
- BITWISE_XOR [yaya]
第一引数(数値)と第二引数(数値)のビットXOR演算を行います。
↑
- CEIL [v4]
実数の小数点以下を切り上げます。
- CHARSETIDTOTEXT [yaya]
文字コードIDを文字コードを表す文字列に変換します。
失敗した場合は"default"を返します。
- CHARSETLIB
外部ライブラリとの通信部で使用する文字コードを指定します。以下のうちひとつを選択します。
- 0
Shift_JISを指定します。
- 1
UTF-8を指定します。
- 2
EUC_JPを指定します。 [yaya]
- 3
BIG-5を指定します。 [yaya]
- 4
GB-2312を指定します。 [yaya]
- 5
EUC_KRを指定します。 [yaya]
- 6
ISO-2022-JP (JIS)を指定します。 [yaya]
- 126
バイナリを指定します。 [yaya]
- 127
OSのデフォルトの文字コードを指定します。
LOADLIBの直前に指定してください。
LOADLIB単位に異なる文字コードを設定可能です。
デフォルトの文字コードは基礎設定ファイルのcharsetエントリで設定した値です。この設定が無い場合はShift_JISとして扱われます。
戻値はありません。
文字コード「バイナリ」は特殊な文字コードで、UCS-2の文字列の下位バイトをそのままバイト列にしたエンコードです。
主に FWRITEBIN, FREADBIN 等と組み合わせて、「バイナリ」状態の文字列をそのまま外部とやりとりするために用いることを想定しています。
ただし、文字列中に0x00が扱えないというYAYAの制限はそのままですので注意してください。
また、FUNCTIONEX等の既存のシステム辞書は、文字列がバイナリになることを想定していません。
- CHARSETLIBEX [yaya]
第一引数に外部ライブラリのファイル名、第二引数に使用する文字コードを指定します。
文字コードの指定はCHARSETLIBと同じです。
- CHARSETTEXTTOID [yaya]
文字コードを表す文字列を文字コードIDに変換します。
失敗した場合は0を返します。
- CHR [v4:ASCの拡張。ASCII範囲では互換性あり]
UCS-2コードから1文字を返します。
- CHRCODE [v4:IASCの拡張。ASCII範囲では互換性あり]
指定された文字列先頭の1文字についてUCS-2文字コードを返します。
- COS [v4]
コサインを返します。引数の単位はradianです。
- COSH [yaya]
ハイパボリック・コサイン(双曲線関数)を返します。引数の単位はradianです。
- CUTSPACE [v4]
文字列左右端に空白文字およびタブ文字がある場合、それらを取り除きます。
- CVAUTO [yaya]
引数に文字列の形式を持つ文字列が格納された変数を指定すると、整数として解釈できるなら整数に、実数として解釈できるなら実数に、両方とも無理なら文字列のまま返します。
- CVINT [v4:TONUMBERを改名]
引数に整数値の形式を持つ文字列が格納された変数を指定すると、整数に変換して格納しなおします。
戻値はありません。
- CVREAL
引数に実数値の形式を持つ文字列が格納された変数を指定すると、実数に変換して格納しなおします。
戻値はありません。
- CVSTR [v4:TOSTRINGを改名]
引数に変数を指定すると、内容を文字列に変換して格納しなおします。
戻値はありません。
↑
- DUMPVAR [yaya]
現在システム内に保持されている変数をログファイルにダンプします。
引数はありません。デバッグ用の機能です。
↑
↑
- FATTRIB
ファイルの属性を取得します。
第一引数にファイル、もしくはディレクトリ名を指定します。フルパス指定可能。相対パスの場合はDLL loadで渡された位置が基準となります。
結果は以下の汎用配列で返されます。それぞれが0か1の値を取り、1の時、その属性が有効であることを示します。ただし、
指定されたファイルが存在しない等、処理に失敗した場合は、汎用配列ではない単一の整数-1が返ります。
ARCHIV,COMPRESSED,DIRECTORY,HIDDEN,NORMAL,OFFLINE,READONLY,SYSTEM,TEMP
- [0] ARCHIV
アーカイブファイル、またはアーカイブディレクトリ。
- [1] COMPRESSED
圧縮ファイル、または圧縮ディレクトリ。
- [2] DIRECTORY
ディレクトリ。ここを調べることで、対象が普通のファイルか、それともディレクトリなのかを知ることが出来ます。
- [3] HIDDEN
隠しファイルまたは隠しディレクトリ。
- [4] NORMAL
属性なし。
- [5] OFFLINE
このファイルのデータは、今すぐは利用不能。
- [6] READONLY
読み取り専用ファイル。
- [7] SYSTEM
Windowsが使用するファイル。
- [8] TEMP
一時ファイル。
- [9] [yaya]
ファイル作成日時 UNIXの場合はinode更新日時
- [10] [yaya]
ファイルの最終更新日時
日時の単位は1970/1/1 0時を基準とした秒数(epoch)です。
ふつうの日付情報に直したい場合は GETTIME(_attrib[10]) のようにしてください。
- FCHARSET
ファイル書込み/読み取りで使用する文字コードを指定します。文字コードの指定はCHARSETLIBと同じです。
FOPENの直前に指定してください。
ファイル単位に異なる文字コードを設定可能です。
デフォルトの文字コードは基礎設定ファイルのcharsetエントリで設定した値です。この設定が無い場合はShift_JISとなります。
戻値はありません。
- FCLOSE [v4]
FOPENで開いたファイルを閉じます。
引数にはFOPENで指定したものと同じファイル名を指定します。
戻値はありません。
- FCOPY [v4]
ファイルをコピーします。
第一引数がコピー元ファイル名、第二引数がコピー先のディレクトリ名です。フルパス指定可能。相対パスの場合はDLL loadで渡された位置が基準となります。
戻値0/1=失敗/成功。
- FDEL [v4]
指定したファイルを削除します。
フルパス指定可能。相対パスの場合はaya5.dll loadで渡された位置が基準となります。
戻値0/1=失敗/成功。
- FDIGEST [yaya]
指定したファイルのダイジェスト(ハッシュ)値を得ます。
第一引数が対象ファイル名、DLLのあるディレクトリ基準の相対パスか絶対パスか、どちらも利用可能です。
第二引数はダイジェスト値の種類です。"CRC32"で32bitCRC、"MD5"でMD5、"SHA-1"または"SHA1"でSHA-1を得ます。
- FENUM [v4]
指定位置に存在するファイル名/ディレクトリ名を列挙し、カンマ区切り文字列として返します。フルパス指定可能。相対パスの場合はDLL loadで渡された位置が基準となります。
ディレクトリ名は先頭に"\"が付されます。
第二引数にデリミタを指定できます。
- FLOOR [v4]
実数の小数点以下を切り捨てます。
- FMOVE [v4]
ファイルを移動します。
第一引数が移動対象ファイル名、第二引数が移動先のディレクトリ名です。フルパス指定可能。相対パスの場合はDLL loadで渡された位置が基準となります。
戻値0/1=失敗/成功。
- FOPEN [v4]
ファイルをオープンします。
第一引数がファイル名です。フルパス指定可能。相対パスの場合はDLL loadで渡された位置が基準となります。
第二引数は読取り/書き込み指定で、以下のいずれかを指定します。
テキストアクセス
- "r" もしくは"read"
読取りモードで開きます。
ファイルがないときはエラーになります。
- "w" もしくは"write"
書き込みモードで開きます。
一旦サイズを0にし上書きします。ファイルがないときは新規作成します。
- "a" もしくは"append"
追加書き込みモードで開きます。
ファイルの最後に追加します。ファイルがないときは新規作成します。
バイナリアクセス [yaya]
- "rb" もしくは"read_binary"
バイナリ読取りモードで開きます。
ファイルがないときはエラーになります。
- "wb" もしくは"write_binary"
バイナリ書き込みモードで開きます。
一旦サイズを0にし上書きします。ファイルがないときは新規作成します。
- "ab" もしくは"write_binary_append"
バイナリ追加書き込みモードで開きます。
ファイルの最後に追加します。ファイルがないときは新規作成します。
ランダムアクセス [yaya]
- "r+" もしくは"read_random"
テキスト読み書きモードで開きます。
ファイルがないときはエラーになります。
- "w+" もしくは"write_random"
テキスト読み書きモードで開きます。
一旦サイズを0にし上書きします。ファイルがないときは新規作成します。
- "a+" もしくは"append_random"
テキスト読み書きモードで開きます。
ファイルの最後に追加します。ファイルがないときは新規作成します。
- "rb+" もしくは"read_binary_random"
バイナリ読み書きモードで開きます。
ファイルがないときはエラーになります。
- "wb+" もしくは"write_binary_random"
バイナリ読み書きモードで開きます。
一旦サイズを0にし上書きします。ファイルがないときは新規作成します。
- "ab+" "append_binary_random"
バイナリ読み書きモードで開きます。
ファイルの最後に追加します。ファイルがないときは新規作成します。
戻値0/1/2=失敗/成功/既にオープンしている。
- FREAD [v4]
読取りモードで開いているファイルから1行読み取ります。
引数にはFOPENで指定したものと同じファイル名を指定します。
改行文字は取り除かれます。
ファイル終端に達した際は-1を返します。
- FREADBIN [yaya]
読取りモードで開いているファイルから文字コード変換をせずにデータを読み取ります。
第一引数にはFOPENで指定したものと同じファイル名を指定します。
第二引数には数値で読み取るバイト数を指定します。
バイト値0を扱えないというYAYAの制限を回避するため、第三引数にはバイト値0の代わりとなる文字を指定します。省略すると半角空白となります。
- FRENAME [v4]
ファイル名を変更します。
第一引数が対象ファイル名、第二引数が新しいファイル名です。フルパス指定可能。相対パスの場合はDLL loadで渡された位置が基準となります。
戻値0/1=失敗/成功。
- FSEEK [yaya]
ファイル読み書きの際の位置(ファイル位置指示子)を移動します。
第一引数がFOPENで指定したファイル名、第二引数が移動するバイト数 です。
第三引数は移動の原点となる位置を文字列で指定します。
- "SEEK_CUR" もしくは"current"
現在の位置。
- "SEEK_END " もしくは"write_binary"
ファイル末尾。
- "SEEK_SET" もしくは"start"
ファイルの先頭。
フルパス指定可能。相対パスの場合はDLL loadで渡された位置が基準となります。
戻値0/1=失敗/成功。
- FSIZE [v4]
指定されたファイルのサイズ(バイト数)を取得します。
フルパス指定可能。相対パスの場合はDLL loadで渡された位置が基準となります。
失敗した場合-1を返します。
- FTELL [yaya]
ファイル読み書きの際の位置(ファイル位置指示子)をファイル先頭からのバイト数で取得します。
引数にはFOPENで指定したものと同じファイル名を指定します。
失敗した場合-1を返します。
- FWRITE [v4]
書き込みモードで開いているファイルに文字列を書き込みます。
引数にはFOPENで指定したものと同じファイル名を指定します。
戻値はありません。
- FWRITE2 [v4]
書き込みモードで開いているファイルに文字列を書き込みます。
引数にはFOPENで指定したものと同じファイル名を指定します。
戻値はありません。
FWRITEは改行コードを自動的に書き込みます。FWRITE2は書き込みません。
- FWRITEBIN [yaya]
書き込みモードで開いているファイルから文字コード変換をせずにデータを書き込みます。
第一引数にはFOPENで指定したものと同じファイル名を指定します。
第二引数には書き込むデータを文字列で指定します。
バイト値0を扱えないというYAYAの制限を回避するため、第三引数にはバイト値0の代わりとなる文字を指定します。省略すると半角空白となります。
↑
- GETCALLSTACK [yaya]
ユーザー関数の呼び出し履歴を、関数名を文字列で表した配列で返します。
- GETDELIM
変数に設定されているデリミタ(簡易配列字の区切り文字)を返します。デフォルトのデリミタはカンマです。
第一引数に対象の変数を指定してください。
- GETFUNCLIST [yaya]
現在読み込んでいる辞書の関数リストを返します。
第一引数に何も指定しないと全てのリストを汎用配列で返します。何らかの文字列を渡すと、その文字列で始まる関数名を返します。
- GETLASTERROR [v4:戻値の体系変更]
直前に発生したシステム関数エラーのコードを返します。コードは以下の通りです。
コード | 意味 |
8 | 引数不足。 |
9 | 引数の値が不正。 |
10 | 空の文字列は処理できない。 |
11 | 結果を入れる変数がない。 |
12 | 範囲外、もしくは無効な値。 |
13 | 処理失敗。 |
14 | 指定された外部ライブラリはロードされていない。 |
15 | 指定されたファイルはオープンしていない。 |
16 | 正規表現の文法に誤りがある。もしくは複雑すぎる。 |
17 | 正規表現の処理中に未定義のエラーが発生した。 |
18 | 変数を渡すべき引数が変数となっていない。 |
この関数が返す値はSETLASTERROR関数で設定することもできます。
GETLASTERRORを使用して、エラーが起きそうな場所を確実にチェックするには以下のようにすると良いです。
SETLASTERROR(0)
(システム関数を使用している何らかの処理)
if !GETLASTERROR {
"エラーが発生しました。"
}
- GETMEMINFO [v4:memory系システム変数相当]
動作環境のメモリ情報を取得します。結果は以下の汎用配列で返されます。
物理メモリの使用率,物理メモリ量,空き物理メモリ量,仮想+物理メモリ量,仮想+物理空きメモリ量
- GETSECCOUNT [yaya]
万国標準時で1970/1/1 00:00:00から今までの経過秒数を示します。GETTIME関数と同時に活用することが多いでしょう。
C言語に慣れた方向け:要するにtime関数です。
第一〜第七引数を与えることもでき、これらはそれぞれ、
西暦年,月,日,0,時,分,秒
を示します。
4つ目は本来「曜日」が入るべき部分ですが、指定する必要はありません。常に0で問題ありませんし、どんな値が入力されても無視します。
なお、月・日・時・分・秒の値は、必ずしも通常の日付の範囲で与える必要はなく、たとえば「13月」にすると、きちんと次の年の1月になるように内部で再計算します。
何日後、何時間後、といった計算に、GETTIMEと組み合わせて使うと便利でしょう。
C言語に慣れた方向け:要するにmktime関数ですが、年と月は直接値を指定します。1900を引いたり1を引いたりする必要はありません。
//2006年14月=2007年2月
_array = GETTIME(GETSECCOUNT(2006,14,25,0,15,56,40)
"%(_array[1])月%(_array[2])日"
- GETSETTING
動作中の文に設定されている情報を返します。
第一引数に取得したい情報を示す番号を指定します。
新しい引数指定方法 [yaya]
- coreinfo.version
バージョン番号。"Tc522-1"といった文字列です。
- coreinfo.path
文がカレントとして認識するディレクトリ絶対パス。
- coreinfo.name
現在使用中のDLLの名前です。つまり"YAYA"。
- coreinfo.author
現在使用中のDLLの作者名を文字列として返します。
- その他
YAYA > マニュアル > 3.基礎設定で書かれた「基礎設定ファイル」のコマンドを指定することもできます。
旧バージョン互換指定
- 0
バージョン番号。"Tc522-1"といった文字列です。
- 1
文字コード。指定法はCHARSETLIBと同じです。
- 2
文がカレントとして認識するディレクトリ絶対パス。
- GETSTRBYTES
文字列を格納するために必要なバイト数を返します。
第一引数が対象文字列、第二引数は解釈する文字コードです。文字コードの指定はCHARSETLIBと同じです。
第二引数は省略可能です。
- GETTICKCOUNT [v4:システム変数systemuptickcount相当]
OSが起動してからの経過時間を返します。単位ms。24日と20時間あまりで0に戻ります。
- GETTIME [v4:時刻取得系システム変数相当]
引数無しで現在の日時情報を取得します。結果は以下の汎用配列で返されます。
西暦年,月,日,曜日,時,分,秒
曜日は0〜6で、0が日曜日です。
第一引数に万国標準時で1970/1/1 00:00:00からの経過秒数を指定する事もできます。 [yaya]
この数値はGETSECCOUNT関数やFATTRIBの[9]や[10]で取得できます。
これを活用すると、「今現在から○×後/前の時刻」などを手軽に計算できます。
- GETTYPE [v4:ISINTEGER、ISREAL相当]
値の型を得ます。
0/1/2/3/4=内部エラー/整数/実数/文字列/汎用配列
- GETVARLIST [yaya]
文字列を指定すると、その文字列で始まる変数名を、
省略時は全ての変数のリストを汎用配列で返します。
失敗した場合はIARRAYを返します。
↑
↑
- IARRAY
空の汎用配列を返します。
- INSERT [v4:バイト単位から文字単位へ変更]
文字列を挿入します。第一引数が対象文字列、第二引数が挿入する文字位置、第三引数が挿入する文字列です。
- ISFUNC [v4:ISFUNCTIONから改名]
指定した名前の関数が存在するかを返します。
0/1/2=なし/関数/システム関数
- ISINTSTR
与えられた文字列を整数として解釈可能なら1を、それ以外で0を返します。
- ISREALSTR
与えられた文字列を実数として解釈可能なら1を、それ以外で0を返します。
- ISVAR
指定した名前の変数が存在するかを返します。
0/1/2=なし/グローバル変数/ローカル変数
↑
- LETTONAME [v4]
第一引数の文字列を変数名と見なし、第二引数の値を代入します。
戻値はありません。
- LICENSE [yaya]
改行で分割し配列化したSHIORIと使用ライブラリのライセンス文字列を返します。
- LOADLIB [v4]
外部ライブラリをロードします。LoadLibraryして、loadを実行します。
外部ライブラリはインタフェース用として文と同じ公開されたload/unload/request関数を持っている必要があります。
戻値0/1/2=失敗/成功/既にロードしている。
- LOG [v4]
自然対数を返します。
- LOG10 [v4]
常用対数を返します。
- LOGGING [v4:指定文字列のみ書き込むように変更]
ログファイルへ指定された値を書き込みます。値の型は問いません。簡易配列は各値をカンマで結合して表現されます。
戻値はありません。
- LSO
Last Selection Order. 最後に行われた選択の結果を、位置を表す数値で返します。
request
{
_i = foo
LSO
}
foo
{
"earth"
"moon"
"sun"
}
_iに"sun"が代入された場合、LSOは2となります。
とにかく択一がされる場合すべてについて動作します。したがって、該当処理が完了した直後に値を取得しないと意味がありません。
request
{
{
"This is a "+ANY("pen", "pencil", "eraser")+"."
}
res = LSO
}
ANYの選択結果を得ようとしているならこのコードは誤りです。この位置にあるLSOは{ }の選択結果を取得します。したがってresは常に0です。
以下のように修正することで意図どおり動作するようになります。
request
{
{
"This is a "+ANY("pen", "pencil", "eraser") + "."
res = LSO
}
}
出力確定子がある場合、LSOはすべての取り得る組み合わせに対して動作します。
request
{
{
"1"
"2"
"3"
--
"A"
"B"
}
_i = LSO
}
たとえば上の関数内の{ }部は以下のいずれかを出力します。
"1A" "2A" "3A" "1B" "2B" "3B"
LSOの値の範囲もこれと一致し、0〜5を取ります。各値は上の並びと一致します。
↑
- MKDIR [v4]
ディレクトリを作成します。フルパス指定可能。相対パスの場合はDLL loadで渡された位置が基準となります。
一階層づつしか作成できません。
戻値0/1=失敗/成功。
↑
- POW [v4]
第一引数の第二引数乗を返します。
↑
- RAND [v4]
乱数を得ます。第一引数で範囲を指定します。0〜(第一引数-1)の範囲で発生します。
引数が無い場合は0〜99を発生します。
- READFMO [yaya]
FMOの内容をそのまま返します。第一引数でFMO名を指定できます。指定しない場合は、"Sakura"です。
- RE_GETLEN
正規表現系関数の実行結果を取得します。
戻値は汎用配列で、( )にマッチした部分文字列の長さが列挙されています。要素0が正規表現全体にマッチした文字列の長さ、
要素iはi番目の( )にマッチした部分文字列の長さです。
- RE_GETPOS
正規表現系関数の実行結果を取得します。
戻値は汎用配列で、( )にマッチした部分文字列の位置が列挙されています。要素0が正規表現全体にマッチした文字列の位置、
要素iはi番目の( )にマッチした部分文字列の位置です。
- RE_GETSTR
正規表現系関数の実行結果を取得します。
戻値は汎用配列で、( )にマッチした部分文字列が列挙されています。要素0が正規表現全体にマッチした文字列、
要素iはi番目の( )にマッチした部分文字列です。
- RE_GREP
正規表現で文字列を検索し、結果を列挙します。
第一引数が処理対象文字列、第二引数が正規表現です。
見つかった数を返します。
結果の詳細はRE_GETSTR、RE_GETPOS、RE_GETLENで取得します。
使用可能な正規表現文法については以下をご覧下さい。
boost::Regex++ Regular expression syntax(日本語訳)
http://boost.cppll.jp/HEAD/libs/regex/syntax.htm
- RE_MATCH
処理対象文字列全体が与えられた正規表現と完全にマッチしたとき1を返します。それ以外では0を返します。
第一引数が処理対象文字列、第二引数が正規表現です。
結果の詳細はRE_GETSTR、RE_GETPOS、RE_GETLENで取得します。
- RE_OPTION [yaya]
Perl互換の正規表現オプションを設定します。
- "i"
大文字小文字の区別をしない
- "m"
複数行として扱う
- "s"
ワイルドカードは改行にもマッチする
- "x"
正規表現内のコメント(#)や空白を無視する
標準設定はmのみです。
戻値はi/s/m/xのどれか、または複数(文字列)です。
- RE_REPLACE
正規表現で文字列を検索し、発見された部分をすべて別の文字列へ置換します。
第一引数が処理対象文字列、第二引数が正規表現、第三引数が置換後文字列です。
結果の詳細はRE_GETSTR、RE_GETPOS、RE_GETLENで取得します。
RE_REPLACEとRE_SPLITに限り、RE_GETSTR、RE_GETPOS、RE_GETLENの意味が他と異なります。
これらにはマッチしたi番目の( )の内容ではなく、対象文字列において正規表現全体にマッチしたi番目の内容を表します。
- RE_REPLACEEX [yaya]
処理対象文字列の正規表現とマッチする部分を全て置き換えます。
第一引数が処理対象文字列、第二引数が正規表現、第三引数が置換後文字列です。
RE_REPLACEとの違いは、置き換え対象文字列として、$0、$1といったperl風のメタ文字を利用可能なことです。
結果の詳細は RE_GETSTR , RE_GETPOS , RE_GETLEN で取得します。
RE_REPLACEEXを使用した場合、上記3つの関数は、マッチしたn番目の( )の内容ではなく、対象文字列において正規表現全体にマッチしたn番目の内容を表します。
- RE_SEARCH
処理対象文字列内に与えられた正規表現とマッチする箇所があれば1を返します。それ以外では0を返します。
第一引数が処理対象文字列、第二引数が正規表現です。
結果の詳細はRE_GETSTR、RE_GETPOS、RE_GETLENで取得します。
- RE_SPLIT
正規表現で文字列を分割します。分割した結果を汎用配列で返します。
結果の詳細はRE_GETSTR、RE_GETPOS、RE_GETLENで取得します。
- REPLACE [v4:バイト単位から文字単位へ変更]
文字列を置換します。
第一引数が対象文字列、第二引数が変換前文字列、第三引数が変換後文字列です。該当するすべてが置換されます。
- REQUESTLIB [v4:戻値追加]
ロード済の外部ライブラリへrequestによって文字列を送出し、結果を受け取ります。
第一引数はロードした時に指定したライブラリファイル名、第二引数は送出するリクエスト文字列です。
戻値は結果文字列です。
- RESTOREVAR [yaya]
保存した変数を復旧します。load時に行なわれる処理と同じものです。
第一引数にセーブ用ファイル名を指定することもできます。
- RMDIR [v4]
ディレクトリを削除します。フルパス指定可能。相対パスの場合はDLL loadで渡された位置が基準となります。
空のディレクトリしか削除できません。
返値0/1=失敗/成功。
- ROUND [v4]
実数の小数点以下桁を四捨五入します。
↑
- SAVEVAR
変数を保存します。unload時に行なわれる処理と同じものです。
- SETDELIM [v4:SETSEPARATORを改名]
変数の標準のデリミタ(簡易配列字の区切り文字)を設定します。デフォルトのデリミタはカンマです。
第一引数に対象の変数、第二引数にデリミタ文字列を指定してください。
戻値はありません。
この関数への引数の与え方には以下の制限があります。注意してください。
2つの引数は必ず直接与えねばなりません。
_i = (var, "/")
SETDELIM(_i)
上の例は変数varのデリミタを"/"へ変更しようとしていますが、これは正常に動きません。
下のように、第一引数に対象の変数、第二引数にデリミタを直接指定してください。
SETDELIM(var, "/")
- SETLASTERROR
GETLASTERROR関数が返す値を整数で設定します。
- SETSETTING [yaya]
動作中の文に設定されている情報を動的に変更します。
第一引数に設定したい情報の名前、第二引数に設定内容を両方とも文字列で指定します。
YAYA/マニュアル/3.基礎設定で書かれた「基礎設定ファイル」のコマンドを直接動的に変更できます。
- SIN [v4]
サインを返します。引数の単位はradianです。
- SINH [yaya]
ハイパボリック・サイン(双曲線関数)を返します。引数の単位はradianです。
- SPLIT
文字列を分割して汎用配列として返します。RE_SPLITで代用可能ですが、正規表現を使わない分だけ高速です。
第一引数が対象文字列、第二引数が分割文字列です。
第三引数に最大分割数を指定できます。
_array = SPLIT("A//B//C//D//E"," //", 3)
_arrayは ("A", "B", "C//D//E") です。
分割数0ですべて分割(省略でも同じ)。1とすると分割しないのでただの文字列代入となります。
- SPLITPATH
与えられたパス文字列を要素に分解し、汎用配列として返します。
要素は「ドライブ名」「パス」「主ファイル名」「拡張子」の4つです。
_i = SPLITPATH("C:\umeici\sample\readme.txt")
_i には "C:","\umeici\sample\","readme",".txt" が代入されます。
- SQRT [v4]
平方根を返します。
- STRDECODE [yaya:TC532-1にてGETSTRURLDECODEを改名]
第一引数の文字列をデコードします。
第二引数で文字コードを指定します。指定方法はGETSTRBYTES等と同じです。省略可能です。
第三引数でデコード形式を指定します。urlでURLデコード、base64でBase64デコードになります。省略時はurlです。
失敗した場合は0を返します。
- STRENCODE [yaya:TC532-1にてGETSTRURLENCODEを改名]
第一引数の文字列をエンコードします。
第二引数で文字コードを指定します。指定方法はGETSTRBYTES等と同じです。省略可能です。
第三引数でエンコード形式を指定します。urlでURLエンコード、base64でBase64エンコードになります。省略時はurlです。
失敗した場合は0を返します。
- STRFORM
書式化された文字列を返します。C言語のsprintf相当の機能です。
以下はsprintfとの比較です。結果を戻値で得る点と、書式指定のプレフィックス文字が$である点を除けば、まったく同様に使用できます。
// C言語
int year = 1941;
char *warname = "太平洋";
sprintf(str, "%04d年 %s戦争勃発。", year, warname);
// 文
year = 1941
warname = "太平洋"
str = STRFORM("$04d年 $s戦争勃発。", year, warname)
書式指定一つあたりで展開できる文字列の長さは1024文字までに制限されています。
- STRLEN [v4:バイト単位から文字単位へ変更、引数2つのバージョンは廃止]
文字列の文字数を返します。
- STRSTR [v4:バイト単位から文字単位へ変更。引数4つのバージョンは廃止]
文字列内の部分文字列を検索し、見つかった文字位置を返します。
第一引数は対象文字列、第二引数は検索する部分文字列、第三引数は検索を開始する文字位置です。
- SUBSTR [v4:バイト単位から文字単位へ変更]
文字列から部分文字列を抜き出します。
第一引数は対象文字列、第二引数は取得を開始する文字位置、第三引数は取得する文字数です。
[yaya] 第二引数を負値にすると、「文字列の最後からX番目」を示します。たとえば、
SUBSTR("HOGE",-2,1)
とすると結果は"G"です。
↑
- TAN [v4]
タンジェントを返します。引数の単位はradianです。
- TANH [yaya]
ハイパボリック・タンジェント(双曲線関数)を返します。引数の単位はradianです。
- TOAUTO [yaya]
与えられた文字列を、整数として解釈できるなら整数に、実数として解釈できるなら実数に、両方とも無理なら文字列のまま返します。
- TOBINSTR [v4]
整数を2進数値文字列へ変換します。引数が異常の場合は空の文字列を返します。
- TOHEXSTR [v4]
整数を16進数値文字列へ変換します。引数が異常の場合は空の文字列を返します。
- TOINT [v4:TONUMBER2を改名]
文字列を整数へ変換します。引数が異常の場合は0を返します。
- TOLOWER [v4]
文字列中に含まれる英大文字をすべて小文字へ変換します。
- TOREAL
文字列を実数へ変換します。引数が異常の場合は0.0を返します。
- TOSTR [v4:TOSTRING2を改名]
整数、実数、汎用配列を文字列へ変換します。
汎用配列が与えられた場合は、カンマで結合した文字列を返します。つまり、汎用配列をカンマ区切りの簡易配列へ変換します。
- TOUPPER [v4]
文字列中に含まれる英小文字をすべて大文字へ変換します。
↑
- UNLOADLIB [v4]
LOADLIBでロードした外部ライブラリのunloadを実行した後、FreeLibraryします。
引数はロードした時に指定したライブラリファイル名です。
戻値はありません。
↑
↑