前言

这里的基础规范不包括所有的语法,只是作为一个初学者注意到的可能会混淆的概念,会有出错的细节做个记录,以及为今后养成一些固定格式习惯之用,各种语法规范请参见aardio帮助文档即可。

基本规范

变量命名规则

推荐用小驼峰命名法,即小写在前大写在后,如:

1
2
var robotName = "QQ机器人";

语句判别

每行一句,以 ; 结尾,不以换行为判断。实际上 ; 不写也没关系,aardio会检查语句的完整性。为代码统一规范美观,建议语句结尾带上 ; 结尾,如:

1
2
3
4
if(mainForm){
mainForm.text = "测试";
mainForm.show();
}

空格/空行使用

  1. 相关代码放在一起,不相关代码用一个空行间隔
  2. 赋值,比较等表达式符号两边各添加一个空格
  3. () 内相关参数,条件等前后不留空格

    校长的教程里有些是有空格,有些是不留空格的,自己统一下吧,如上面的代码段所示。

语法注意事项

特殊符号

  1. '' :与 "" 不同的是单引号支持转义,如 str = 'abc\r\n' ,而双引号内转义符会处理成普通字符
  2. _ :下划线开头表示常量,值不可改变
  3. :: :声明一个全局常量,如 ::str = "abc"
  4. .. :全局名字空间引用符,如 ..io.open();
  5. # :取长运算符(单目运算符),如果对象是 null ,返回 0 ,如果对象是字符串返回字符串长度
  6. ++ :一个加是运算符,两个加则是字符串连接符,如 str = abc ++ 123 ,则 str = abc123
  7. ===!==== 判断值相等时,0false 是一样的, 而三个等号则是全等式运算符,表示强匹配,此时 null0 false 是不一样的

其他事项

  1. aardio 对大小写敏感,mainFormmainform 是不同的两个对象,str = abcstR = abc 是不一样的
  2. 除 aardio 核心库,外部库需要先 import 导入
  3. 定义一个库时,使用其他库名字空间时需全局引用:var out = ..fsys.createDir(outdir);