
//大部分来自Dummy-47，经过授权
TOINT
将以文字和实数形式的值转换成整数形式
TOREAL
将以文字和整数形式的值转换成实数形式。这里说的实数就是会保留小数点后6位的形式
TOSTR
将以任何形式的值改成文字列。如果被更改对象是泛用阵列的话，就会以逗号分隔的简易阵列显示
GETTYPE
用来调查变量以什么形式存在\n1整数2实数3文字4泛用阵列什么的。0是出错或失败\n如果泛用阵列只有一个要素，则会返回这个要素的形式（而不是泛用阵列）。
GETTYPEEX
用来调查变量以什么形式存在\n返回值和GETTYPE是一样的，但是比它更严密\nAYA版本号Tc537-3以上可用
ISFUNC
用于查找人格中是否有对应函数\n0是不存在；\n1是可被作者定义的函数；\n2是SHIORI自带的函数
ISVAR
查找人格中是否有特定变量存在\n0是不存在；\n1是全局变量；\n2是局部变量\n注意：局部变量检查只能用在当前事件处理中
CVINT
将数字形式的文字字符串转变为整数。有小数点的话，会去掉小数点后面的部分
CVSTR
将实数值转变为文字形式。输出后的结果……看上去是有小数点后6位的实数，但实际上是文字
CVREAL
将数字形式的文字字符串转变为实数。输出后的结果是有小数点后6位的实数\n……是用来保留的吧
CVAUTO
通过自动判断，将字符串变量输出为整数或实数。如果不可以转换就不会转换，包括混输和泛用阵列
TOAUTO
通过自动判断，将字符串转换为整数或实数。如果不可以转换就不会转换，包括混输和泛用阵列
ARRAYSIZE
获得一个阵列中的项目数量，不管它是简易阵列还是泛用阵列
SETDELIM
设定标记简易阵列要素分割的符号。默认符号当然是英文半角逗号\n只能用剪贴板上的这种书写顺序设定
IARRAY
返回空泛用阵列
ASEARCH
查找泛用阵列中的值，会返回最先找到的位置。0代表第一个，-1代表没有找到\n关联：RE_ASEARCH
ASEARCHEX
查找泛用阵列中的值，ASEARCH的升级版，会以泛用阵列的形式返回所有被找到的位置，没找到就返回一个空阵列\n关联：RE_ASEARCHEX
GETDELIM
告知一个简易阵列中标记要素分割的符号。默认符号当然是英文半角逗号
ASORT
按规则重新排列要素的顺序，仅限泛用阵列\n按照类别分的话，选项有string（按字符编码顺序）int（按整数大小）double（按自然数大小）length（按字符数）；\n按照内容顺序的话，选项有升序和降序；\n还有返回值形式index，专门用来输出“顺序”\nAYA版本号Tc540-1以上可用，Tc545-1追加了index的参数
STRSTR
在字符串中查找特定文字，返回找到的位置。第一个参数是字符串对象，第二个是关键词，第三个参数是开始的位置，不可以省略
STRLEN
返回字符串的字数。不是按字节算，汉字这样的双字节字符也是1个字
REPLACE
将文字串中的部分内容替换为其他内容\n此函数机制单纯，如果需要进阶的功能，请移步\nRE_REPLACE或者RE_REPLACEEX
SUBSTR
从一段文本的某个位置开始，取出一定字数的内容并返回\n如果代表位置的数字小于0，就会从最后开始算起
ERASE
将一段文本从指定位置开始，删去指定长度的字数，返回处理后的结果
INSERT
对一段文字中指定一个位置，在此插入另一段文字，返回处理后的结果
TOUPPER
将一段文字中含有的小写英文字母全部转换为大写并输出结果\n或许整理可以方便接下来的其他操作
TOLOWER
将一段文字中含有的大写英文字母全部转换为小写并输出结果\n或许整理可以方便接下来的其他操作
CUTSPACE
是切去文字前后的空白，包括半角、全角和Tab那种空白\n……但不会从中间剔除空格
TOBINSTR
将十进制下的整数处理成二进制形式，返回值是文字串
TOHEXSTR
将十进制下的整数处理成十六进制形式，返回值是文字串
BINSTRTOI
将二进制数转换为十进制数，返回值是整数形式
HEXSTRTOI
将十六进制数转换为十进制数，返回值是整数形式
CHR
用于显示UCS-2编码下的字符。代入值当然是UCS-2数码。伪春菜支持UCS-2的显示，但我们的编辑工具不支持，在这种时候就很有用
CHRCODE
会输出一个字符的UCS-2编码\n要是输入一个字符串就要指定一个位置，默认输出第一个字的编码
ISINTSTR
判断给定的文字串是否可以解释为整数。可以的话返回1。不能会返回0
ISREALSTR
判断给定的文字串是否可以解释为实数。可以的话返回1。不能会返回0
SPLITPATH
分解一个文件路径，以泛用阵列的形式返回“盘符,路径,文件名,文件扩展名（后缀）”\n失败会返回0
STRFORM
相当于C语言中的sprintf，以字符串形式输出。最多可以展开1024个字符长度
ANY
在所有要素中随机选择一个。给出要素的是阵列、文字或数字都可以。执行时会记录自己执行的位置（参见LSO）。
GETSTRBYTES
计算某一字符串在指定文字编码下的字节数。指定文字编码请参照AYA内部文字编码ID表
SPLIT
将文字串分割开，转换为泛用阵列。最大分割数可设置，0或省略为全部分割。这里的话处理相对简单，如果要高级的处理，请参照RE_SPLIT
ZEN2HAN
将文字串中含有的全角字符变换为半角。此处的字符包括数字（number）、字母（alphabet）、特殊符号（symbol）和日文假名（kana），可以全部变换也可以指定部分种类变换
HAN2ZEN
将文字串中含有的半角字符变换为全角。此处的字符包括数字（number）、字母（alphabet）、特殊符号（symbol）和日文假名（kana），可以全部变换也可以指定部分种类变换
STRENCODE
将文字串转换为指定语言编码下的网络地址字符形式，现在也支持base64。不指定时，默认以0、url的方式转换\n在TC532-1之前的版本叫做GETSTRURLENCODE
STRDECODE
将指定语言编码下的网络地址字符形式转回一般的文字串，现在也支持base64。不指定时，默认以0、url的方式转换\n在TC532-1之前的版本叫做GETSTRURLDECODE
TRANSLATE
将文字串中的字符一对一地进行替换，相当于Perl中不加任何条件的tr///\n算是一种高速和简便的方法，而且包括了文字编码的识别，能够用“a-z”乃至“①-⑨”的方法去指定，还可以进行复合条件的指定
RE_SEARCH
寻找文字串中符合正则表达式的部分。存在会返回1，否则返回0
RE_MATCH
寻找文字串中与给定正则表达式完全一致的部分。存在会返回1，否则返回0
RE_GREP
寻找文字串中所有与正则表达式相符的部分。详细的结果要通过RE_GETSTR、RE_GETPOS、RE_GETLEN来取得\n注意：正则表达式在第二参数位
RE_REPLACE
将字串中所有符合正则表达式的部分替换。详细的结果要通过RE_GETSTR、RE_GETPOS、RE_GETLEN来取得\n如不能确定输入对象一定是字串，可先用TOSTR处理。如果要替换的内容含有meta标签，必须使用RE_REPLACEEX
RE_SPLIT
用符合正则表达式的内容来分割字串，返回泛用阵列结果。详细的结果要通过RE_GETSTR、RE_GETPOS、RE_GETLEN来取得。最大分割数可设置，0或省略为全部分割
RE_GETSTR
以泛用阵列形式返回字串中符合正则表达式的所有结果。如果之前没有实行正则匹配动作或未匹配到，就会返回空阵列
RE_GETPOS
以泛用阵列形式返回字串中符合正则表达式的每个结果在原字串中的位置。如果之前没有实行正则匹配动作或未匹配到，就会返回空阵列
RE_GETLEN
以泛用阵列形式返回字串中符合正则表达式的每个结果的长度。如果之前没有实行正则匹配动作或未匹配到，就会返回空阵列
RE_REPLACEEX
将字串中所有符合正则表达式的部分替换。详细的结果要通过RE_GETSTR、RE_GETPOS、RE_GETLEN来取得\n可以使用像Perl那样的元字符\n如不能确定输入对象一定是字串，可先用TOSTR处理
RE_ASEARCH
在泛用阵列中检索包含指定字串的第一个结果。如果没有找到，返回值为-1\n不能同时使用RE_GET系\n如果想要检索全部的话，需要使用RE_ASEARCHEX
RE_ASEARCHEX
在泛用阵列中检索包含指定字串的所有结果。返回值也是阵列，如果没有找到，会返回空阵列\n不能同时使用RE_GET系
RE_OPTION
针对正则表达式操作中，兼容Perl字符的部分提供的设定\ni指不区分大小写，m是多行处理，s是在换行时匹配，x是无视注释内容。默认条件下是只有多行处理
FUNCTIONEX
调用通用SAORI的函数\nSAORI会给出调用方法，第一引数为SAORI文件以aya.dll为参照的相对路径，第二引数开始，依次写上调用时SAORI需要的引数
LOADLIB
载入其他外部库（DLL）以单次实行。这个库必须要有与AYA同样的load/unload/request等c函数。路径一般是相对aya.dll的路径，也可以是绝对路径
UNLOADLIB
实行之后，从内存中卸载库
REQUESTLIB
LOADLIB之后，取得该库的实行结果。string的部分请填入需要request的内容
CHARSETLIB
设置载入外部库用的文字编码。使用时写在LOADLIB之前。会将所有库设置成同一编码，如果要个别指定，用CHARSETLIBEX
CHARSETLIBEX
设置载入某一外部库用的文字编码
RAND
随机取得一个整数。指定一个最大值时，取得范围为0～最大值-1。如果不指定，就会按照预设的最大值取随机。\n预设似乎是99……\n\nTc551-1版本追加SRAND设定方法
SRAND
RAND函数的补充设置函数，设置用於取得随机数的“种子”。如果不设置，则会以系统时间作为种子\n要注意RAND可能被使用在系统辞书中\nTc551-1版本追加
FLOOR
舍去实数的小数点后面的部分，向下取整
CEIL
舍去实数的小数点后面的部分，向上取整
ROUND
舍去实数的小数点后面的部分，四舍五入并且依据方向进行取整
SIN
三角函数，返回弧度的正弦值\n顺带一提，弧度和角度直接的换算可以用\nrad = degree * 3.14159265358 / 180 
COS
三角函数，返回弧度的余弦值
TAN
三角函数，返回弧度的正切值
LOG
取得（自然）对数
LOG10
取得常用对数
POW
幂函数。求x的y次幂
SQRT
求某数的平方根
ASIN
反三角函数，通过反正弦求弧度\n顺带一提，角度和弧度之间的换算可以用\ndegree * 180 / 3.14159265358 = rad 
ACOS
反三角函数，通过反余弦求弧度
ATAN
反三角函数，通过反正切求弧度
SINH
双曲函数，返回弧度的双曲正弦值
COSH
双曲函数，返回弧度的双曲余弦值
TANH
双曲函数，返回弧度的双曲正切值
BITWISE_AND
将输入的两个整数以二进制形式进行按位『与』运算并输出结果\n对于每一个比特位，只有两个操作数相应的比特位都是1时，结果才为1，否则为0
BITWISE_OR
将输入的两个整数以二进制形式进行按位『或』运算并输出结果\n对于每一个比特位，当两个操作数相应的比特位至少有一个1时，结果为1，否则为0
BITWISE_XOR
将输入的两个整数以二进制形式进行按位『异或』运算并输出结果\n对于每一个比特位，当两个操作数相应的比特位有且只有一个1时，结果为1，否则为0
BITWISE_NOT
将输入的整数以二进制形式进行按位『非』运算并输出结果\n反转操作数的比特位，即0变成1，1变成0
BITWISE_SHIFT
将输入的整数以二进制形式进行按位移动运算并输出结果\n将var的二进制形式移动shift位，shift是正数时向左，负数时向右
FOPEN
打开文件。对任何文件操作前必须有这个动作，在此之前可以用FCHARSET来指定文字编码。path是文件名，可用相对路径或绝对路径，option以文字指定打开方式。详细可以参见c语言的fopen
FCLOSE
关闭之前被打开的文件。和FOPEN成对出现，写在文件操作结束后
FREAD
读取文件中的1行，不附带换行符。文件即之前用FOPEN操作的对象
FREADENCODE
用base64或者url编码的方式读取文件。如果用二进制打不开的话，要变换一下换行符。文件即之前用FOPEN操作的对象。读取的字节数可以设置，0为全部。type可选base64和url，默认为base64，对应FWRITEDECODE
FWRITEDECODE
用base64或者url编码的方式写入文件。文件即之前用FOPEN操作的对象。写入的字节数可以设置，0为全部。type可选base64和url，默认为base64，对应FREADENCODE
FWRITE
按照之前FCHARSET指定的编码在文件中写入一行文字（不指定的话就用AYA内码）。末尾自带换行符。文件即之前用FOPEN操作的对象
FWRITE2
按照之前FCHARSET指定的编码在文件中写入一行文字（不指定的话就用AYA内码）。末尾没有换行符。文件即之前用FOPEN操作的对象
FCOPY
将文件复制到指定的路径下。path为文件的绝对或相对路径，dir为目标路径
FMOVE
将文件移动到指定的路径下。path为文件的绝对或相对路径，dir为目标路径
MKDIR
新建路径/文件夹。可以是绝对路径或相对路径，但一次只能创建一层路径，以免出现多层同时处理而报错
RMDIR
删除路径/文件夹。只能删除空路径/没有文件的文件夹
FDEL
删除文件。可以使用绝对路径或相对路径
FRENAME
文件重命名。可以使用绝对路径或相对路径
FSIZE
取得文件占用字节的大小
FENUM
列举路径下存在的所有文件及文件夹，返回值以『,』分割，文件夹的开头会有『\』。
FCHARSET
指定读取文件所用的文字编码。写在FOPEN之前，每次指定一个文件。指定文字编码请参照AYA内部文字编码ID表
FATTRIB
\b[2]取得文件或文件夹的信息。结果为泛用阵列，依次为：\n\[0]是否档案（仅WINDOWS）[1]是否压缩\n\[2]是否文件夹[3]是否隐藏文件(仅WINDOWS）\n\[4]是否普通文件[5]是否本地文件[6]是否只读（仅WINDOWS）\n\[7]是否系统文件（仅WINDOWS）[8]是否临时文件（仅WINDOWS）\n\[9]文件创建时间（UNIX下为inode更新时间）\n\[10]文件最终更新时间\n时间是以EPOCH为基准计算的，可以再用一次GETTIME来取得
FREADBIN
将文字编码变换后进行读取。之前必须要有FOPEN。读取的长度可指定，如为0则读取全部。如果文件中有0x00的值存在，默认情况下置换为半角空白，会引起问题，如需要可以自行更换（char）。
FWRITEBIN
将文字编码变换后进行写入。之前必须要有FOPEN。读取的长度可指定，如为0则读取全部。如果文件中有0x00的值存在，默认情况下置换为半角空白，会引起问题，如需要可以自行更换（char）。
FDIGEST
取得文件的校验码。可以指定的type：\nCRC32、MD5、SHA-1
FSEEK
移动文件读写进行的位置。基于origin移动offset个字节数。可以指定的式样为：\nSEEK_CUR(current)：现在的位置\nSEEK_END(end)：文件末尾\nSEEK_SET(start)：文件开头
FTELL
获取现在读写指示符在文件中的位置。取得结果为距离文件开头的字节数
EVAL
执行给定的单一操作，返回结果。执行函数的时候，不能直接地合成函数的名称。它自身也不处理条件分歧结构、或直接定义新的函数
ERASEVAR
删除单个或多个变量。填入变量名称即可
LETTONAME
将指定的内容(val)代入到某个变量（name）内\n可以用于一次性生成『变量1，变量2，变量3……』的场合，也可以代入泛用阵列
LSO
告知最近一次在某函数或某事件（机制须与ANY相同）中随机选择的结果\n它会将所有的结果排列为阵列（包括多种排列组合的情况，会按上下顺序穷举），返回值是被选择结果在这个阵列中的位置
SAVEVAR
将所有变量进行一次保存。可以进行路径指定，如省略指定，默认为原来的人格存档位置（和aya.dll同路径的variable.cfg）。
GETSETTING
\b[2]取得当前运行的AYA的设定信息。依次为：\n/
文字名称\_l[100]数值名称\_l[170]信息类别\n/
coreinfo.version\_l[100]0\_l[170]版本号\n/
（无）\_l[100]1\_l[170]文字编码\n/
coreinfo.path\_l[100]2\_l[170]当前dll的路径\n/
coreinfo.name\_l[100]3\_l[170]当前dll名称\n/
coreinfo.author\_l[100]4\_l[170]当前dll作者名\n/
coreinfo.savefile\_l[100]无\_l[170]存档文件名\n/
coreinfo.mode\_l[100]无\_l[170]aya当前模式（emergency或normal）
GETFUNCLIST
返回读取辞书中的所有函数列表。也可以指定『由（prefix）开头的所有函数』。
GETVARLIST
返回读取辞书中的所有变量列表。也可以指定『由（prefix）开头的所有变量』。
GETCALLSTACK
返回函数栈，返回值为多个字串组成的泛用阵列
GETERRORLOG
获取aya的错误记录，返回泛用阵列
CHARSETTEXTTOID
将用文本表示的文字编码变换为AYA中的编号
CHARSETIDTOTEXT
将用AYA中的编号表示的文字编码变换为文本
RESTOREVAR
将所有变量读取复原。可以进行路径指定，如省略指定，默认为原来的人格存档位置（和aya.dll同路径的variable.cfg）。
EXECUTE
让path中的文件对象执行option中的命令。主要用于呼叫其他应用程序。也可以仅打开程序而不指定操作
EXECUTE_WAIT
让path中的文件对象执行option中的命令，同时等待这一操作结束
SETSETTING
变更当前运行的AYA的设定信息\nname指想要设定的项目，请参照基础设定文件aya.txt的记述\n不能变更dic、msglang、chaset.dic、checkparser等值
LICENSE
返回AYA的整篇使用许可。是以文字段落合成的泛用阵列
GETTIME
取得现在的时间信息。是以下述要素构成的泛用阵列：\n\[0]西历纪年[1]月[2]日[3]星期数（用0～6表示，0为星期天）[4]小时[5]分钟[6]秒[7]当年的第几天[8]是否夏令时（1为是）
GETTICKCOUNT
\f[color,red]【只能在WINDOWS下使用】\f[default]取得系统启动到现在为止经过的时间。单位为毫秒。flag可以设定为0以外的数字……\n如果经过了24天和20小时的话该函数会返回0
GETMEMINFO
返回操作系统的内存信息。返回值是以下各种数值构成的泛用阵列：\n物理内存使用率,物理内存总量,可用物理内存,虚拟内存+物理内存,可用虚拟内存+可用物理内存
GETSECCOUNT
参照EPOCH，来计算某一时间经过的秒数。书写时间的形式可以不唯一\n配合GETTIME使用可以进行时间换算
READFMO
\f[color,red]【只能在WINDOWS下使用】\f[default]取得File Mapping Object（文件映射对象）的内容。FMO的文字编码为系统默认，读取中变换为AYA的内部编码，开头的4个字节（代表FMO的大小）会被自动摘除\nname默认是『Sakura』\n如果出现0x00……就可能引起问题
LOGGING
将指定的值写到运行日志文档。同时，也会在debug程序『玉』（tama）上显示
GETLASTERROR
返回之前发生的系统函数错误编码。没有出错的话会返回0。参见AYA系统错误表
SETLASTERROR
设定系统函数错误的编码。用整数值代入，参见AYA系统错误表
DUMPVAR
在log中记录变量的转储
EmBeD_HiStOrY
aya内部实现%[n]功能的所必须的函数\n是内部使用函数，忽略就可以了
GETSTRURLENCODE
旧式样，现改叫STRENCODE
GETSTRURLDECODE
旧式样，现改叫STRDECODE
GETENV
获取系统中的环境变量\n详情可以谷歌“环境变量”
DICLOAD
运行时加载辞书，成功时返回0，失败时什么也不影响并返回1
GETSYSTEMFUNCLIST
获取以第一参数（字串）开始的名称做名称的aya底层函数列表
GETFUNCINFO
获取对应函数的定义位置与起始/终止行数，失败时返回-1
PROCESSGLOBALDEFINE
以辞书中的#globaldefine对参数字串进行处理
UNDEFFUNC
取消指定函数的定义，失败返回1，成功返回0
UNDEFGLOBALDEFINE
取消#globaldefine定义（并不会消除已带来的影响），失败返回1，成功返回0
DICUNLOAD
取消指定dic文件中定义的所有函数和#globaldefine，失败返回1，成功返回0
ISEVALUABLE
检查指定字符串是否是合法表达式，但不检查函数或变量名是否真实存在
SETTAMAHWND
设定tama调试器的hwnd，用于向调试器发送信息
ISGLOBALDEFINE
判断某个名称是否是#globaldefine
SETGLOBALDEFINE
运行时定义#globaldefine\n第一参数：定义名\n第二参数：定义内容\n追加的全局定义被放在虚拟辞书“_RUNTIME_DIC_”中\n如果覆盖了之前的定义，则返回1，否则返回0
APPEND_RUNTIME_DIC
运行时附加函数定义，配合UNDEFFUNC函数可以进行定义的更改\n失败返回-1，成功返回0
SLEEP
休眠shiori指定的毫秒数\n失败返回-1，成功返回0
