国产第|页日本草草影院,亚洲自偷自拍另类第1页,自偷自拍亚洲综合精品,亚洲综合一区自偷自拍

    <th id="czrov"></th>
    <tr id="czrov"></tr>
  1. <object id="czrov"></object>
    <th id="czrov"><video id="czrov"><span id="czrov"></span></video></th>

          比克尔下载中心--给您快速、安全的下载体验!

          桌面软件编程软件(aardio) v13.50 最新版

          aardio下载

          软件介绍 软件截图 下载地址 软件评论

          aardio是一款专门用来设计桌面软件的编程软件。软件的整体界面干净、简单,可以让您直接创建新任务,直观浏览任务详情。另外,不懂使用这款软件的用户还可以直接在线学习如何掌握该软件哦!

          aardio主要特性

          aardio是专用于桌面软件快速开发的新一代混合型编程语言 - 具有动态语言轻便、灵活的特性,而且又可以同时支持静态类型开发,象静态语言那样使用。

          aardio可以直接支持原生DLL,即使是外部EXE进程中的函数,也可以使用一句代码声明为普通的aardio函数对象( 原生call支持 )。

          aardio支持非常多的标准调用约定,例如 stdcall,cdecl,thiscall,fastcall,regparm(n) 等调用约定都可以支持。

          aardio虽然小,但支持的接口很丰富、可以支持com静态动态双接口,象VBS一样原生支持com对象。

          aardio特殊符号用法大全

          成员操作符
          用于访问对象的成员,
          例如 io.open 表示 open函数是io对象的成员( 这里是名字空间成员 )

          .. 全局成员操作符
          这个操符符用在自定义的名字空间里访问全局名字空间 global;
          例如 ..io.open() 实际上等价于 global.io.open()

          :: 全局常量操作符
          这个操符符用于将一个变量名转换为 global名字空间下的全局常量名 - 并保护该常量在其后加载的代码中一旦赋为非空值后即不可修改,例如:
          ::Kernel32 := raw.loadDll("Kernel32.dll");

          全局常量需要遵守以下使用规则
          1、全局常量名首字母大写(以区别普通变量 )。
          aardio默认定义了少量全局常量函数名 - 这些关键函数全部小写首字母,但在aardio编辑器中显示为蓝色高亮状态。

          2、当一个变量被定义为全局常量,赋于非空值以后其值即不能再随意更改 。
          全局常量一般使用 ::Name := 初始值 赋值,等价于使用 ::Name = ::Name or 初始值 以避免重复初始化。

          3、::的作用域是根据代码的载入顺序向下向后的,所以在同一文件中已定义的全局常量名时再次使用可以省略::前缀,但因为代码文件的载入有不确定性 - 在其他文件首次使用该常量名时仍然应该使用::定义一次。

          [ ] 下标操作符( 或者叫索引操作符 )
          也是用来访问对象的成员,中括号里面应当是一个合法的表达式。
          例如 io.open 用索引索作符来表示就是 io["open"]

          而 .成员操作符 这里的成员名字不需要放到引号里,并且必须是一个合法的变量名。
          但索引操作符就不同了,可以放任意的表达式,例如 io[ "o" + "pen" ] 这样写也是可以的。

          另外一个区别:当你使用索引操作符调用成员函数时,被调用函数的 owner 参数为空。
          所以一般不应当这样写 io["open"]() ,而应当写 io.open()。

          [[ ]] 直接下标操作符
          这玩意与 [] 的用法基本是一样的,
          唯一的区别是他不会触发元方法,所以数组里实际有这个成员就是有,没有就是没有,忽悠不了这个操作符。

          这个直接下标操作符可以应用于任何类型的对象( 包括null空值 )不会报错,
          如果对象不包含直接下标操作符中指定的成员就简单的返回 null空值。所以[[]]即可以用来取值同时又可以方便的检测对象类型,例如:

          if( 可能为空或任意类型的变量[["test"]] ){
          io.print( 可能为空或任意类型的变量[["test"]] )
          }
          复制代码
          将普通下标操作符用于字符串时, []操作符取的是字节码、是个数值,而 [[]] 取出来的是字符。
          例如定义字符串变量 str = "abcd" 这时候 str[1] 是他的ASCII码97,而str[[1]]则返回字符"a"

          @ 元表操作符
          这个操作符表来读取或设置对象的元表, 关于这个请查看帮助文档
          一个简单的示例

          var tab = { a = 123 };

          tab@ = {
          _get = function(name){
          return "有木有:" + name;
          }
          }

          io.open()
          io.print( tab.a ) // -> 显示123
          io.print( tab.b ) // -> 显示"有木有:b"
          io.print( tab[["b"]] ) // -> 显示 null空值
          execute("pause")

          @ 在模式匹配里还有特殊用途。
          如果一个模式表达式的第一个字符是‘@’,表示全局禁用模式语法执行普通的二进制匹配。
          如果一个模式表达式的第一个字符是两个'@@',同上表示禁用模式语法并且执行文本匹配(不会截断宽字符。)
          也可以在模式表达式的尖括号中使用一个'@" 或两个 '@@' 表示局部禁用模式语法( 两个‘@@’ 表示启用文本匹配,并且忽略大小写 )

          示例如下:
          var str = "abc\d测试字符串"

          //模式匹配
          var i,j = string.find(str,"\\d")

          //禁用模式匹配
          var i,j = string.find(str,"@\d")

          //禁用模式匹配、且启用文本匹配
          var i,j = string.find(str,"@@\d")

          //局部禁用模式匹配
          var i,j = string.find(str,"<@\d@>:+")

          //局部禁用模式匹配、且启用文本匹配、并且忽略大小写
          var i,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里有一个特殊的用法:
          行注释可以用于赋值语句中表示字符串,例如 var str = //这是一个字符串

          这个与双引号类似,字符串都表示字面意义,没有转义符。

          /* 段注释语句 */
          这个也类似其他类C语言,但注意首尾的星号可以用多个、并且首尾星号的数目一定要匹配。
          aardio使用这个特性来解决注释嵌套的麻烦问题。

          另外,段注释也可以用在赋值语句中表示字符串,字符串都表示字面意义,没有转义符。
          而换行总是被强制解释为 '\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 )
          func( 1,2,3,4 )

          使用教程

          软件截图

          • aardio

          下载地址

          桌面软件编程软件(aardio) v13.50 最新版

          高速下载器通道
          其他下载地址

          软件评论

            <th id="czrov"></th>
            <tr id="czrov"></tr>
          1. <object id="czrov"></object>
            <th id="czrov"><video id="czrov"><span id="czrov"></span></video></th>

                  国产第|页日本草草影院,亚洲自偷自拍另类第1页,自偷自拍亚洲综合精品,亚洲综合一区自偷自拍

                  品牌简介

                  {转码主词}