Emuera 术语表(风飏@df32翻译版)
翻译自原文档:https://osdn.net/projects/emuera/wiki/EmuDic
译者:风飏@df32
也可跳转至:原版
启动模式
普通模式 Normal Mode
Emuera正常启动时的模式。 当你双击EmueraXXXX.exe启动它时,就会进入这种模式。
解析模式 Analysis Mode
通过命令行参数来提交想要分析的ERB文件或文件夹时会进入的模式。
当把文件拖到EmueraXXXX.exe上并启动程序时,Emuera会以这种模式启动,并检查文件语法。
由于需要检查CSV变量的规范,你可能需要将脚本运行所需的CSV一起拖动。
Emuera从1738g开始,若在分析模式下启用加载时显示报告时,则将显示加载ERB文件中的函数列表。
调试模式 Debug Mode
以-Debug作为命令行参数来启动Emuera时的模式。 详见调试模式。
窗口对话框 Window Dialogue
主窗口 Main Window
通常启动时最先打开的窗口。
主控制台 Main Console
主窗口中进行输入输出的部分。
调试窗口 Debug Window
仅在调试模式下才能打开的一个窗口。
调试控制台 Debug Console
调试窗口的一部分, 控制台选项卡中进行输入和输出部分。
设置对话框 Config Dialogue
从帮助菜单中设置菜单项打开的对话框。
剪贴板对话框 Clipboard Dialogue
在主控制台按下Ctrl + C打开的对话框。。
函数
命令 Command
包括PRINT和WAIT等。
注意区分命令与函数。
函数 Function
ERB脚本中,以@ ~ ~的形式定义,通过CALL命令来调用的东西。
广义的函数也包括同样以@ ~ ~形式定义的但可以直接在表达式中使用的式中函数。
事件函数 Event Function
当某一事件发生时,Emuera会尝试调用的、名称以EVENT开头的函数。
若有复数定义则全部会被调用。
预处理指令 Preprocessor
ERB文件中,文件加载时执行的指令。 包括#开始的行 和被[]封闭的行。
#开始的行可以划分为属性和定义。详细参考下面内容。[]封闭的行,表示特殊的语句。详细见exfunc。
属性(预处理)Attribute (Preprocessor)
#开始的行,是用来指定函数的样式和动作的预处理指令。
- 指定事件函数的执行方式,如
#PRI,#LATER,#SINGLE,#ONLY等。 - 指定式中函数的类型,如
#FUNCTION,#FUNCTIONS等。
定义(预处理)Definition (Preprocessor)
#开始的行,是用来指定变量的名字以及大小的预处理指令。
- 指定局部变量
LOCAL,LOCALS的元素数目的#LOCALSIZE,#LOCALSSIZE。 - 声明变量,包括
#DIM和#DIMS。 - 在ERH文件中定义宏的
#DEFINE。
式中函数
能够直接在表达式中调用的函数,即式中函数。 有的翻译将其译为方法,以区分不同的调用方式。
与其他编程语言中的匿名函数、内联函数无关。
注意区分指令、函数、式中函数的不同使用方式。
内置函数 Built-in Function
内置式中函数,即内置于Emuera中不需要额外声明就可以直接在表达式中使用的函数。
内置函数属于式中函数,包括ABS(X)、GETTIME()等。
也可以将其理解为“可以用于表达式中的指令”。
用户定义函数 User-defined Function
用户定义的函数,ERB脚本中以@ ~ ~形式定义的,通过CALL命令调用的东西。
也就是脚本中的函数。
用户定义式中函数
ERB脚本中以@ ~ ~形式定义的、具有#FUNCTION(S)属性的函数。
简单的说就是用户定义的两种式中函数: 返回数值的(#FUNCTION)与返回字符串(#FUNCTIONS)的两种。
行、语句、表达式
行
指从一个换行符到下一个换行符直接的内容,即物理行。
语句
Emuera中的一个处理单位,即逻辑行。
大多数语句是指令 + 参数的形式,或者变量 + 赋值运算符 + 表达式的形式。
ERB脚本中通常一行一句,行与语句大致相同,故以下不做区分。
表达式
由变量、常数、方法、非代入运算符、括号等组合成的内容。
代入运算符,如赋值语句的=,不能在表达式中使用。
数值表达式
运算结果为数值的表达式。
例如A + B、STR == "Ayu"等。
字符串表达式
运算结果为字符串的表达式。
例如STR + STR:1、"a" * 10等。
变量
伪变量
像RAND、CHARANUM这样以变量的形式表达的东西。
其实际内部操作更接近于式中函数。
数组变量
包含复数个元素的变量。
数组变量只能在VariableSize.csv中指定数组元素的数量,通常不会在脚本中增加或减少。
但局部变量可以在脚本中指定数组元素的数量。
角色变量 Character Variable
记录角色状态的变量。
与一般编程语言中的Char类型无关。
当通过ADDCHARA和DELCHARA增减角色时,角色变量的元素数也会随之增减。
由于角色变量与数组变量具有相同的形式(如NO:TARGET), EraMaker中将其作为数组变量中的一部分,但本文档将其与数组变量区别开来。
双重数组变量
一个既是角色变量又是数组变量的变量。
例如CFLAG:TARGET:2,有两个参数(第一个参数有时可省略)。
- 第一维是角色数组,其参数是角色的序号,用于确定某个角色。
- 第二维是一般数组,其参数是数组的索引,用于确定角色的某个属性。
- 第一维元素数量会随角色增减而变化。
- 第二维元素数量只能在
VariableSize.csv中指定,不能在脚本中改变。
本文档不会使用这一术语,除非描述EraMaker的规范。
多维数组变量
二维数组变量,如DITEMTYPE,以及三维数组变量,如TA
前者有两个参数,如DA:0:1,后者有三个参数,如TA:1:2:3。
多维数组变量的元素数只能在VariableSize.csv中指定,不能在脚本中改变。
另外多元数组变量的参数是不可以省略的。
角色多维数组变量
一个既是角色变量又是多维数组变量的变量。
例如CDFLAG:TARGET:0:2,有三个参数(第一个参数有时可省略)。
- 第一维是角色数组,其参数是角色的序号,用于确定某个角色。
- 第二、三维是数组,其参数是数组的索引,用于确定角色的某个属性。
- 第一维元素数量会随角色增减而变化。
- 第二、三维元素数量只能在
VariableSize.csv中指定,不能在脚本中改变。
Emuera从ver1807开始只有
CDFLAG是这种变量。
更多信息见CDFLAG。
局部变量 Local Variable
仅在当前函数的声明与定义中有效的变量,如LOCAL、LOCALS和私有变量。
关于私有变量请参考下面内容。
LOCAL与LOCALS并不是真正意义上的局部变量,而是以LOCAL@函数名和LOCALS@函数名为名的公共静态变量(public static)。 即使离开了函数,LOCAL与LOCALS仍然保留其值,并且可以通过名字从外部来访问变量。 当函数被多次调用时,例如在递归调用中,LOCAL与LOCALS的值也是共有通用。
广域变量 Nonlocal Variable
LOCAL、LOCALS和私有变量以外几乎所有的变量、所有函数共享的变量。
也就是一般编程语言中“全局变量”的概念。
此外,ERH文件中可以用#DIM、#DIMS来定义广域变量。 详细参考头文件(ERH)。
全局变量 Global Variable
不同存档之间可以共享的变量。全局变量是广域变量中的一种。
全局变量与一般变量在保存、加载、初始化的时间是不同的。
Emuera中的全局变量与一般编程语言中的全局变量的概念并不相同。
私有变量 Private Variable
在函数中通过#DIM、#DIMS来声明的变量。
私有变量是局部变量的一种,仅在当前函数的声明与定义中有效。
并不能像LOCAL与LOCALS从函数外部访问。
详细参考用户定义变量。