您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > aardio特殊符号用法大全
1/63aardio特殊符号用法大全发布者:编程|发布时间:2013-11-2517:54|查看数:36926|评论数:39|帖子模式本文供初次接触aardio的用户快速的了解aardio的特殊符号最基本的用法。这里只会简单的说明一些这些特殊符号的作用,不会详细的讲,+-*/这些较通用的操作符下面不会列出,详细的参考语法手册。.成员操作符用于访问对象的成员,例如io.open表示open函数是io对象的成员(这里是名字空间成员)..全局成员操作符这个操符符用在自定义的名字空间里访问全局名字空间global;例如..io.open()实际上等价于global.io.open()::全局常量操作符这个操符符用于将一个变量名转换为global名字空间下的全局常量名-并保护该常量在其后加载的代码中一旦赋为非空值后即不可修改,例如:::Kernel32:=raw.loadDll(Kernel32.dll);全局常量需要遵守以下使用规则1、全局常量名首字母大写(以区别普通变量)。aardio默认定义了少量全局常量函数名-这些关键函数全部小写首字母,但在aardio编辑器中显示为蓝色高亮状态。2、当一个变量被定义为全局常量,赋于非空值以后其值即不能再随意更改。全局常量一般使用::Name:=初始值赋值,等价于使用::Name=::Nameor初始值以避免重复初始化。3、::的作用域是根据代码的载入顺序向下向后的,所以在同一文件中已定义的全局常量名时再次使用可以省略::前缀,但因为代码文件的载入有不确定性-在其他文件首次使用该常量名时仍然应该使用::定义一次。[]下标操作符(或者叫索引操作符)也是用来访问对象的成员,中括号里面应当是一个合法的表达式。例如io.open用索引索作符来表示就是io[open]而.成员操作符这里的成员名字不需要放到引号里,并且必须是一个合法的变量名。但索引操作符就不同了,可以放任意的表达式,例如io[o+pen]这样写也是可以的。另外一个区别:当你使用索引操作符调用成员函数时,被调用函数的owner参数为空。所以一般不应当这样写io[open](),而应当写io.open()。[[]]直接下标操作符这玩意与[]的用法基本是一样的,唯一的区别是他不会触发元方法,所以数组里实际有这个成员就是有,没有就是没有,忽悠不了这个操作符。这个直接下标操作符可以应用于任何类型的对象(包括null空值)不会报错,如果对象不包含直接下标操作符中指定的成员就简单的返回null空值。所以[[]]即可以用来取值同时又可以方便的检测对象类型,例如:源代码[aardio]查看源代码打印?if(可能为空或任意类型的变量[[test]]){io.print(可能为空或任意类型的变量[[test]])}将普通下标操作符用于字符串时,[]操作符取的是字节码、是个数值,而[[]]取出来的是字符。例如定义字符串变量str=abcd这时候str[1]是他的ASCII码97,而str[[1]]则返回字符a@元表操作符这个操作符表来读取或设置对象的元表,关于这个请查看帮助文档一个简单的示例vartab={a=123};tab@={_get=function(name){return有木有:+name;}}io.open()2/63io.print(tab.a)//-显示123io.print(tab.b)//-显示有木有:bio.print(tab[[b]])//-显示null空值execute(pause)@在模式匹配里还有特殊用途。如果一个模式表达式的第一个字符是‘@’,表示全局禁用模式语法执行普通的二进制匹配。如果一个模式表达式的第一个字符是两个'@@',同上表示禁用模式语法并且执行文本匹配(不会截断宽字符。)也可以在模式表达式的尖括号中使用一个'@或两个'@@'表示局部禁用模式语法(两个‘@@’表示启用文本匹配,并且忽略大小写)示例如下:varstr=abc\d测试字符串//模式匹配vari,j=string.find(str,\\d)//禁用模式匹配vari,j=string.find(str,@\d)//禁用模式匹配、且启用文本匹配vari,j=string.find(str,@@\d)//局部禁用模式匹配vari,j=string.find(str,@\d@:+)//局部禁用模式匹配、且启用文本匹配、并且忽略大小写vari,j=string.find(str,@@\D@:+)#数字符当#在一个数组或字符串前面时,计算并返回数组的长度.如果#在一个单引号包含的字符后面,计算并返回字符的ASCII码,例如'a'#返回数值97当#放在数字中间时,用来表示自定义进值,例如2#101表示2进制的101这个2#101也可以换个等价的写法用2_101表示_下划线如果在一个成员变量的前面加上下划线,则声明该变量的值为只读,在赋值后不可修改例如_version=123你就不能在后面再修改为_version=456,这种习惯在其他编程语言中通常只是一种书写习惯,但是在aardio则是语法级别的强制约束。如果下划线后面的变量名全部大写,则表示全局只读的常量例如_VERSION=123表示他在所有名字空间都有效另外他也可以用来表示自定义进制2#101或2_101都表示2进制的101$包含指令符这个符号挺有意思,只要在文件路径前面加上这个符号,就会将该文件编译为一个普通的字符串对象.例如str=$e:/我的图像/x.jpg如果编译或发布以后,你就不需要这个图像文件了,即使别人电脑上没有这个E盘也没有关系,因为文件已经编译成一个普通的二进制字符串了。在aardio编辑器里,只要将资源管理器里的文件直接往编辑器里一拖就行了,会自动加上这个包含指令符。++字符串连接操作符在aardio里1+2的结果是数值3(好象是废话哦),而1++2的结果是字符串12这个不难理解吧?上面的++可以直接缩写为++也就是说1++2的结果就是字符串12实际上一个加号也可以连接字符串,例如:1+2的结果是字符串12也就是说,只有在+号前后没有常量字符串(或者叫没出现引号)你需要用这个++来告诉aardio,你要做的的是字符串连接,而不是数值加运算。//行注释语句这个是比较通用的语法,不过在aardio里有一个特殊的用法:行注释可以用于赋值语句中表示字符串,例如varstr=//这是一个字符串这个与双引号类似,字符串都表示字面意义,没有转义符。/*段注释语句*/这个也类似其他类C语言,但注意首尾的星号可以用多个、并且首尾星号的数目一定要匹配。3/63aardio使用这个特性来解决注释嵌套的麻烦问题。另外,段注释也可以用在赋值语句中表示字符串,字符串都表示字面意义,没有转义符。而换行总是被强制解释为'\r\n',以避免不同文本编辑器导致的可能混淆的结果。这个特性用来包含HTTP头之类严格指定回车换行的文本很方便。aardio中可以调用一些其他语言的源代码,通常要包含大段的其他语言的源码,放到这个段注释里赋值给字符串变量就可以了。直接复制粘帖,不需要象其他语言里一样苦闷的折腾字符串转换。这个用来表示普通字符串字面值双引号里表示普通字符串、不支持转义符。而且双引号里面的文件是可以换行的,换行都被强制解释为'\n'也就是说在双引号里绝对不会、也没办法出现回车符,也就是'\r'。'这个用来表示转义字符串,例如\r\n表示回车换行,注意这后面的换行被忽略注意这前面的换行被忽略'单引号表示字符串时支持转义符,例如'\r\n'表示回车换行,而且只能用'\r\n'表示回车换行,文本本身的换行会被忽略,上面的示例中就只有一个回车换行`反引号即键盘左上角ESC键下方的按键,字符串也可以放在反引号中,其作用与放在双引号中完全一样,通常含单引号的字符串我们用双引号,含双引号的字符串我们用单引号,那么同时包含单引号双引号的字符串呢?当然我们可以使用转义符、注释字符串,aardio10新增的反引号写法会更方便书写。`**乘方运算例如2的3次方写为2**3%取模运算例如24小时制的19点转换为12时制请问是几点,就可以写为19%12结果是7点or||:逻辑或运算符这几个运算符语义都是完全相同的,唯一的区别是:的优先级略低and&&?逻辑与运算符这几个运算符语义也是完全相同的,唯一的区别提?的优先级略低a?b:c这个是三元运算符,计算规则为:a为真则计算b(b为真则返回b,否则仍然计算并返回c),否则计算并返回c。当a与b条件满足时不会计算c(c如果是一个函数调用就不会执行),a为假时不会计算b。注意与C语言有所区别:当b运算结果为假的时候仍然会返回c,aardio里这个三元运算符是尽最大可能去取回真值。()括号这个用在表达式中可以改变操作符的优先级,例如7*(2+3)括号里面的会先运算.放在函数名后面则表示调用执行该函数,例如io.open()//打开控制台io.print(还可以写一个或多个参数)定义函数的时候用来表示形参,例如func=function(a,b,c){io.print(收到参数,a,b,c)}...不定参数运行一下下面的示例你就明白了func=function(a,...){io.print(收到参数,...)}io.open()func(1)func(1,2)4/63func(1,2,3,4)系列教程:使用plus控件制作精美界面发布者:Jacen.He|发布时间:2014-1-1800:21|查看数:45261|评论数:98|帖子模式plus控件简单介绍可支持jpg图像,透明gif图像,透明动画,半透明png图像,并可设定多种不同的绘图模式、九宫格贴图等等,使用plus控件可以简单的通过在窗体设计器中拖拉创建各种漂亮的控件效果、可创建静态图片框、动画播放控件、按钮、透明按钮、不规则按钮、复选框、超链接、进度条、扇形进度条、滑块跟踪条......plus控件还提供了非常多的灵活的可调整参数,如果您擅于发挥可以做出更多的控件效果。为配合plus控件、新版本对窗体的背景图功能也进行了改进,使之支持九宫格,缓存绘图、以拥有更流畅的显示效果。一个完全用plus实现的界面示例:源码下载:plus.新年快乐.7z(317.36KB,下载次数:3050)importwin.ui;/*DSG{{*/varwinform=win.form(text=新年快乐;right=675;bottom=440;image=$\res\bgt.jpg;bkBottom=0;bkLeft=0;bkRight=0;bkTop=0;border=none;max=false;parent=...)winform.add(btnClose={cls=plus;left=642;top=1;right=676;bottom=25;background=\res\close-default.png;dr=1;dt=1;notify=1;repeat=scale;transparent=1;z=4};btnMin={cls=plus;left=619;top=1;right=653;bottom=25;background=\res\min-default.png;dr=1;dt=1;notify=1;repeat=scale;transparent=1;z=7};btnPlay={cls=plus;text=开始播放;left=537;top=382;right=621;bottom=412;background=\res\button.png;clipBk=false;color=16777215;db=1;dr=1;font=LOGFONT(name='微软雅黑';h=-13);notify=1;z=10};plus={cls=plus;left=77;top=384;right=98;bottom=408;background=\res\volume.png;clipBk=false;db=1;dl=1;repeat=
本文标题:aardio特殊符号用法大全
链接地址:https://www.777doc.com/doc-2895301 .html