LPC 语言基础教程:1.5 LPC的关键字及术语说明

本文节选自《LPC语言基础教程:从零学习游戏开发》,版权归@mudren,欢迎转载,但必须注明来源(mud.ren)。

第五节 LPC的关键字及术语说明

前面的内容中对LPC语言和 lpmud 做了介绍,也完成了学习开发的准备工作,为了更好的学习,这里先对基本术语做一个说明。

  • 关键字(Keywords):LPC语言中的关键词和C语言相比,变化比较大。具体对比如下:
C语言关键字 LPC语言 说明
auto - 声明自动变量
short - 声明短整型变量或函数
int 声明整型变量或函数
long - 声明长整型变量或函数
float 声明浮点型变量或函数
double - 声明双精度变量或函数
char - 声明字符型变量或函数
struct 声明结构体变量或函数
union - 声明共用数据类型
enum - 声明枚举类型
typedef - 用以给数据类型取别名
const - 声明只读变量
unsigned - 声明无符号类型变量或函数
signed - 声明有符号类型变量或函数
extern - 声明变量是在其他文件中定义的
register - 声明寄存器变量
static 声明静态变量(mudos有,fluffos兼容模式有)
volatile - 说明变量在程序执行中可被隐含地改变
void 声明函数无返回值或无参数,声明无类型指针
if 条件语句
else 条件语句否定分支(与 if 连用)
switch 用于开关语句
case 开关语句分支
for 一种循环语句
do 循环语句的循环体
while 循环语句的循环条件
goto - 无条件跳转语句
continue 结束当前循环,开始下一轮循环
break 跳出当前循环
default 开关语句中的“其他”分支
sizeof 计算数据类型长度(LPC语言中没有这个操作符,但有同名函数)
return 子程序返回语句(可以带参数,也可不带参数)循环条件

LPC语言新增关键字 说明
string 声明字符串变量或函数
object 声明对象类型变量或函数
buffer 声明缓冲类型变量或函数
function 声明函数指针类型变量
mapping 声明映射类型变量或函数
mixed 声明混合类型变量或函数
class 声明结构体变量或函数
varargs 声明函数参数为可变长度
efun 调用外部函数
inherit 继承对象的方法
private 声明方法类型为私有
protected 声明方法类型为被保护的
public 声明方法类型为公开的(默认类型)
nomask 声明方法类型为不可被重写的(类似其它面向对象语言中的final)
nosave 声明变量类型为nosave
foreach 循环语句
in 循环语句
new 保留字,LPC语言有同名函数
sscanf 保留字,LPC语言有同名函数
asm 保留字
catch 保留字,LPC语言有同名函数
parse_command 保留字,LPC语言有同名函数
time_expression 保留字,LPC语言有同名函数
ref 函数参数传引用,定义 COMPAT_32 后可以用&代替
array 声明数组,定义 ARRAY_RESERVED_WORD 后编译驱动有效
closure 定义 COMPAT_32 后编译驱动有效
__TREE__ 编译时开启DEBUG后有效

关键字不得用做变量和函数名称,具体用法会在后续章节介绍,这里看不懂也没关系。

  • 标识符(Identifier): 和C语言一样,表示变量用,区分大小写。

  • 对象(object):在以前的资料中习惯叫 物件(源自台湾的翻译),在本教程中统一改成为对象,而且LPC本来就是面向对象开发。在LPMUD中的所有.c文件都是类,载入游戏后就是具体对象。

  • 方法(method)和函数(function):和对象相关的函数全部称为方法,比如所有 apply 函数, 在本教程中都称为 apply 方法,而和对象没有直接关系的函数仍然称之为函数,比如系统提供的 efun。注:什么是 apply 什么是 efun 后续章节详细介绍。

  • 数组(array):游戏中的一种数据类型,以前的MUD资料中习惯叫 阵列(源自台湾的翻译),本教程和现代编程语言统一,称为数组


因为大陆MUD资料最早是从台湾传过来的,所以在计算机术语上有大量的直接使用了台湾名称的情况,这并不符合大陆程序员的习惯,本教程中强制统一使用大陆术语。以下列出了老MUD中出现的台湾术语和目前大陆术语的对比,方便新程序员理解,也建议大家都按大陆术语来记忆,不用只为了学一个LPC还得掌握台湾的术语,这也太为难自己了。

大陆计算机术语 台湾计算机术语
程序 程式
函数 函式
内存 记忆体(記憶體)
变量 变数(變數)
对象 物件
数组 阵列(陣列)
比特 位元
巨集
京ICP备13031296号-4