- 软件介绍
- 相关专题
- 下载地址
aardio简介
aardio致力于桌面软件的快速发展。该程序提供了web.form支持库(开源),可以轻松创建web表单加载网页、创建web风格的软件界面或实现嵌入式浏览器应用,网页和aardio代码可以方便地交互调用。程序提供了一个迭代函数,指的是循环取值,越来越接近最终目标的过程。每个值的结果总是用作下一次迭代的初始值。具体来说,迭代器函数意味着每次调用迭代器获得的第一个返回值总是被用作迭代器下一次调用的参数。这个关键的迭代结果值称为控制变量。此外,该程序提供了web.layout支持库,并封装了轻量级、快速的界面引擎HTMLayout,可以利用传统的HTML和CSS技术更方便地实现美观的界面,并以极快的响应速度运行和开发工具。为程序提供可视化开发工具,通过拖拽控件可以方便地创建程序;使用标准库中内置的开源plus控件,可以轻松实现控件九方形网格映射和透明映射,通过拖拽设置可以快速做出漂亮的界面。强大实用
aardio介绍
aardio是新一代混合编程语言,致力于桌面软件的快速发展& # 8211;动态语言轻便灵活,可以同时支持静态类型开发,就像静态语言一样。aardio可以直接支持原生DLL。甚至外部EXE进程中的函数也可以用一句代码声明为普通aardio函数对象(本机调用支持)。/[/k0/
aardio软件功能
全新的混合编程语言创造了全新的编程方式,由于其特殊的功能,aardio可以轻松嵌入各种第三方语言。目前,aardio可以嵌入汇编机器码、C语言、Java、PHP、C#、Python、Javascpt、VBScpt & # 8230…大量第三方编程语言,方便互调功能等。,而这些调用第三方语言的功能模块都是使用aardio(开源)实现的。
aardio一键即可将硬盘目录和硬盘文件嵌入到EXE文件中,所有程序都包含所有资源生成的绿色EXE文件。aardio制作的程序大部分不需要安装程序或者发布DLL运行时库,所以制作免安装的可移植应用很方便。
aardio支持多线程开发,复杂的多线程开发在aardio变得非常简单。标准库还提供了大量的辅助支持库来简化多线程开发,给多线程软件开发带来了极大的便利(请参考aardio示例->:多线程)。
aardio的标准库基本上都是用纯aardio源代码实现的,而且都是开源的。标准库提供了大量的常用函数来简化编程,涉及到软件开发的方方面面,大大简化了桌面软件的开发过程。
aardio软件特色
标识符
标识符是指编程语言中的命名符号,由英文字母、数字或中文字符以及下划线组成。
通常用于标识用户或系统定义的数据或方法,如常量名、变量名、函数名等。
标识符的基本规则:
标识符由英文字母、中文字符、数字和下划线“_”组成。
数字不允许作为第一个字符。
当变量名包含中文时,中文字符不能以字母或数字开头。
您可以使用美元符号($)作为变量名或变量名的第一个字符。
可以使用下划线作为变量名或常量名的第一个字符。当下划线是第一个字符时,表示常量,单个下划线表示变量。
标识符区分大小写。
在运行程序的过程中,用于存储数据值并且其值可以改变的对象称为变量。
变量的名称用由字母、数字、汉字、下划线等组成的合法标识符来表示。
变量开始字符不能是数字。
当变量名包含中文时,中文字符不能以字母或数字开头。
您可以使用美元符号($)作为变量名或变量名的第一个字符。
可以使用下划线作为变量名或常量名的第一个字符。当下划线是第一个字符时,表示常量,单个下划线表示变量。
应该遵循Pximity的Pnciple原则:在第一次使用之前定义局部变量,这样可以使代码保持清晰的结构。
aardio安装说明
1.浏览至此后,有需要的用户可以点击本网站提供的下载路径下载并获取相应的程序安装包。
2.用户可以打开应用包,双击程序包打开程序。
3.用户可以在打开程序后开始您的开发之旅。
aardio使用说明
1.成员变量
变量是属于命名空间的成员对象。
变量的默认命名空间是全局命名空间,您可以使用名称来更改指定代码块的命名空间。
您可以使用self关键字访问当前命名空间。使用..运算符来访问全局命名空间
2.局部变量
Var声明一个局部变量,其作用域是当前块和当前块包含的块。
var声明的局部变量可以指定初始值,也可以不指定初始值。建议为所有变量指定初始值。
示例:
常数
在运行程序的过程中,用于存储数据值且其值不可更改的对象称为常数。常量只能初始化和赋值一次,其值不能修改。
1.文字常数
指以文字值(如数值和字符串)表示数据的对象。
大象123,& # 8221;abc & # 8221这种价值叫面值,之所以叫面值,是因为它的价值是代码直接描述的价值,没有名字可以称呼他,只有他的价值。
常量只能赋值一次。重复分配常量值(如相同的数字或字符串)将被忽略,而分配不同的值将引发错误。
aardio中的常量用下划线表示,作为起始字符的标识符。
2.命名常数
用合法标识符表示不可修改数据的对象称为常数。与文字值不同,它有一个类似于变量名的常量名。
常量以下划线开头,或者使用::运算符将普通变量转换为常量。
命名常量可以理解为赋值后不能修改的变量。
2.1成员常数
它由字母、数字、汉字、下划线等组成的标识符来表示。,下划线必须是起始字符。
成员和成员变量一样,默认情况下是在当前命名空间(自身命名空间)中创建的,也可以引用成员常量的命名空间前缀。
成员的长度必须大于1且小于256字节(单个下划线不是常量,通常在aardio中用作匿名变量占位符)
示例:
2.2全局常量由包含大写字母、数字、下划线等的标识符表示。,并且必须以“下划线+大写字母”开头。全局常量类似于成员常量,只是它们必须大写并且位于globle根命名空间中。实际上,使用全局对象是一个坏习惯。您应该尽可能避免使用全局对象,并将它们放在适当的命名空间中。不介意多输入几个单词,多写几个名称空间前缀。知道全局对象会无意识地增加程序的复杂性,并试图避免使用全局对象(这并不意味着名称空间,相反,您应该更多地使用名称空间来组织数据)意味着您已经成为了一名经验丰富的程序员。
而且全局常量是aardio中的一个运行时对象,意味着发布后会增加程序的体积。
将它们变成文字常量并添加注释是一个很好的优化方案。aardio提供了相应的工具。
这种优化技术已经应用于libswen # define。aardio(这不是库,只是放在库目录下,供扫描常量声明到智能提示数据库),效果如下:
2.3转换全局常数
将全局命名空间中的变量名转换为全局常量名& # 8211;并且保护常数一旦被分配给后来加载的代码中的非空值就不能被修改,例如
全局常量需要遵守以下使用规则:1。将全局常量的首字母大写(以区别普通变量)。
aardio默认定义了几个全局常量函数名& # 8211;这些关键功能都是小写首字母,但在aardio编辑器中以蓝色突出显示。
2.当一个变量被定义为一个全局常量时,它的值在被赋予一个非空值后不能随意改变。
全局常量一般用::Name :=初始值赋值,相当于使用::Name = ::Name或初始值,避免重复初始化。
3.::的作用域根据代码的加载顺序是向下向后的,所以在同一文件中定义的全局常量名称再次使用时可以省略::前缀,但是代码文件的加载存在不确定性& # 8211;当其他文件第一次使用常量名称时,仍然应该用:::定义一次。
下图显示了win库定义的全局常数:
3.使用初始化赋值来定义常数。
常量只能初始化和赋值一次。对于数值常数,相同值的重复赋值将被自动忽略。
如果常量的值是非数值对象,即不能保证每次创建的值都相同,为了避免意外修改常量的值,可以使用运算符:=赋值。
例如:
上述代码相当于
动态指针不是新类型& # 8211;相反,它具有与普通指针相同的数据类型。raw.realloc()函数可用于分配和释放动态指针,raw.realloc()可用于重新调整指针分配的内存。动态指针的地址是可变的,指针变量应该更新为调整大小后返回的新指针。
动态指针可以用作普通指针,但是当您将动态指针传递到raw . realloc()raw . concat()raw . sizeof()和其他可以识别这种类型指针的函数中时,
aardio你可以得到一个头(用来记录内存大小和存储的数据大小)。动态指针会在指针地址返回给用户之前回退8个字节,记录两个32位字段的内存和数据长度,总是回退8个字节,将可用的指针地址返回给用户,对于兼容的C风格字符串,总是在内存末尾留2个字节设置为0。
和普通指针一样,这个指针也可以用在API函数和其他可以使用指针的地方。raw.sizeof()可用于获取该指针指向的内存大小,raw.concat()函数可用于将拼接数据添加到该指针的内存中。
与缓冲区不同,raw.realloc在未指定初始化值的情况下,不会为分配的内存设置初始化值,aardio不负责自动释放动态指针分配的内存,只有明确调用raw.realloc(0,动态指针)才能释放动态指针。
指向raw.buffer()函数分配的读写内存的指针,缓冲区可以像字符串一样在aardio中用作字节数组,长度可以用#取,字节值可以用[]下标取,字符串是一个常量字节值,是只读的,但是缓冲区的字节值可以读写。缓冲区可以在许多字符串函数和应用编程接口中用作字符串。
与动态指针不同,aardio即使不指定初始值,仍然会将所有字节的值初始化为0,并且不能动态调整缓冲区的大小,因此不必或不能手动释放缓冲区分配的内存,只能由aardio自动回收。
一个八位字节在计算机中由八个二进制位表示& # 8211;这被称为单字节字符。
一组连续的字节构成一个字符串。在aardio中,字符串基于二进制,可以包含任何数据(如图像、文本或& # 8221;例如不可打印的字符)。
字符串本质上是一个字节数组,但是这个数组是只读的。每次替换或连接字符串时,都会生成一个新字符串。
不应直接修改每个字符串指向的内存。
下面的代码定义了一个基本字符串:
可以使用#str获取该字符串占用的内存字节长度,也可以使用下标获取每个字节的值。例如,str[1]取出的第一个字节的值是67,字符& # 8221;C & # 8221–这是由ASCII编码规定的。
我之前说过,一个字节只有8个二进制位,所以它能代表的字符非常有限,所以有很多不同的编码规则,用多个字节来代表更多的字符,比如GBK、UTF-8这样的多字节字符集,单字节小于0x80的ASCII字符(英文字母数字字符),双字节(第一个字符大于0x80)的GBK汉字,以及宽字符(两个字节以上的UTF8)
因此,要处理GBK字符串,需要从头开始准确检测一个字节属于谁,这就导致了字符串代码的问题。但是UTF8的宽字符总是大于0x7F,第一个字符的两个二进制位总是1,附加字节的前两个二进制位总是10,这使得我们处理文本非常方便,因为格式化的文本,比如HTML,ON,通常有固定小于0x7F的ASCII字符,但是需要注意的是UTF8字符比较长。..字节。
不同的编码在不同的系统环境下也存在不兼容的问题。比如GBK的软件会在传统系统上乱码,而Unicode编码可以。
为了避免这个问题,有许多Unicode编码方案,主要采用UTF-8和UTF-16。Windows使用UTF-16,
While aardio 10、aardio源代码文件、字符串等。默认情况下使用UTF-8编码。
请注意,在文档aardio中,Unicode通常指的是UTF-16。
例如stng。formunicode () stng。tounicode()函数是默认情况下从UTF-8到UTF-16(Unicode)的双向转换。
一、文本字符串
文本字符串放在双引号中,字符串可以包含换行符。aardio双引号中字符串的换行是有保证的& # 8221;换行,不包括& # 8221;进入。
示例:
如果双引号中的字符串本身包含双引号,则可以使用两个连续的双引号来表示双引号本身。另外,aardio 10中,可以用反引号(键盘左上角ESC下方的键)代替双引号。它们的功能和用途是一样的。
、
示例:
在aardio代码中,双引号和后引号是纯文本字符串,由aardio标记为UTF-8编码。
aardio中的每个字符串都有一个UTF格式标记,可以使用stng获取或修改该标记。getUTF()和stng。setUTF()函数。
UTF标志按位设置,utf&: 8表示UTF8编码的字符串,UTF&: 16表示UTF16编码的Unicode字符串。
UTF & 1代表ANSI字符串。一般来说,用户在编写程序时不应该获取或修改UTF标签。格式标签应该由aardio自动生成,以优化自动编码转换的效率。
用户应该清楚地了解一个文本的源代码,并在必要时使用stng.fmto()等转换函数来转换代码。
aardio只有在字符串的编码格式可以确认的情况下才会对字符串进行标记(例如,直接写入aardio源代码的字符串的文字值或者stng.fmto函数成功转换的编码字符串)。
第二,转义字符串
转义字符串用单引号括起来。支持转义字符,语法与CC++相同。
需要注意的是,aardio中双引号内的字符串不能使用转义字符,这与C语言不同。
单引号中的字符串可以用换行符书写,但是aardio将忽略所有换行符。
aardio确保只有& # 8221;指示回车换行,忽略所有文字值的回车换行。
转义字符串支持的转义字符类似于C等。:
转义字符描述
代表普通字符。
Ddd表示具有由一到三个数字组成的十进制值的字符,
如果数字以数字0开头,八进制将用来表示一个字符。
如果你只想表达& # 8221;背后还有其他不相关的数字,
您可以在其后添加换行符,例如str = & # 821786′
用x后面的两个十六进制数字表示一个字符。
UAAAA表示一个Unicode或双字节字符,在U之后有四个十六进制数字,
请注意,默认情况下,普通字符串将被解析为UTF 8编码的多字节字符,
而它被解析为Unicode字符串中的UTF-16编码双字节字符。
Ringer(常用于pnt功能中进行警告,如io . pnt(& # 8221;)
背面进给、回车和换行
回车符(水平符)
匹配垂直标签。相当于& # 8221;双引号& # 8217;单引号
[方括号][方括号]
转义字符串可以换行,但是aardio将忽略换行符。您必须使用来表示换行符,使用来表示回车换行。
如果单引号只包含一个字符,后跟后缀#,则表示该字符的字节码值。
示例:
请注意,转义字符串结束后,附加#符号表示字节码,附加U或U表示Unicode字符串(UTF16编码),例如:
例如,当使用带下标的字节或字符时,Unicode (UTF16编码)返回双字节值
第三,包含字符串
包含字符串用于将文件直接嵌入aardio代码中,并将其作为二进制字符串加载。示例:
aardio程序编译发布后,文件将直接编译成aardio代码,无需原始文件即可运行。
四.注释字符串
在aardio的赋值中,行注释和段落注释可以作为字符串赋值。
因为aardio的中间部分注定要自定义注释标记& # 8211;只要头尾匹配,就可以方便地用来表示复杂的字符串。
不要担心字符串的结束标记会出现在包含的字符串中。
注释字符串的作用类似于双引号,它代表纯文本字符串。aardio解析后将被标记为UTF8编码。
但是,段落注释保证换行符将被解释为& # 8217;,并忽略星号前后的第一个空行(如果有),而行注释确保字符串没有回车(& # 8221;)或换行(& # 8221;)
附:字符串导航图
输入换行符
在计算机出现之前,有一种叫电传打字机33型的东西,每秒钟能打10个字符。但是它有一个问题,就是打一个新行需要0.2秒,就两个字符。
如果一个新角色在0.2秒内出现,这个角色将会丢失。于是,开发人员想了一个办法来解决这个问题,那就是在每一行的末尾加上两个字符来表示。一个叫“回车”,告诉打字机把打印头定位在左边距;另一种叫做“换行”,它告诉打字机把纸向下移动一行。这就是“换行”和“回车”的由来,从它们的英文名就可以看出来。
后来,计算机被发明出来,这两个概念被搬到了计算机上。当时内存很贵,有科学家认为每行末尾加两个字符太浪费了,就加一个。因此,存在差异。
在Unix系统上,每一行都以“,”结尾,即& # 8221;;
在Windows系统中,每行都以“:& lt换行>”,即& # 8221;;
在Mac系统中,每行都以" "结尾。
在aardio中,可以使用stng.crlf()函数来格式化并更改为统一的样式。
一个直接的后果就是,如果在Windows中打开Unix/Mac系统下的文件,所有的字都会变成一行;
但是,如果Windows中的文件是在Unix/Mac下打开的,那么每行的末尾可能会有一个额外的M符号。
0x0D(asc代码为13)是指写为& # 8221;将光标放在这一行的开头。
0x0A(asc代码为10)指“换行”aardio写成& # 8221;将光标放在下一行的同一列中。
0x0D+0x0A回车aardio写成& # 8221;将光标放在下一行的开头。
文本方式
在windows中,默认值为& # 8221;表示文本换行,如果指定文本模式读写文件,回车换行将自动转换为& # 8221;而且在写的时候会自动& # 8221;转换为& # 8221;
使用io.open功能时,可以使用& # 8217;b & # 8217标记二进制模式,并使用& # 8217;t & # 8217指定标签文本模式(默认设置),
设置winform程序时,注意普通文本框控件的使用& # 8221;表示换行符,而chedit控件使用& # 8221;表示换行。
表示字符串中的回车和换行。
aardio表示字符串的方法有很多。
这些表示都有预定义的回车和换行符解析规则。
这些规则不会受到源文件中使用的实际换行符的影响,即您是否使用& # 8221;,”或者& # 8221;换行
aardio根据以下规则解析回车和换行符:
赋值中段落注释表示的字符串,保证了变更行为& # 8221;
表格
是表aardio中唯一的数据结构类型,用于构造有序或无序集合。
1.表结构
一个表可以包含以下两种数据:
a)哈希表
无序也称为字典、散列表、映射、关联记忆和关联数组。每个元素都是一个“键:值对”。“键”可以是字符或除null之外的其他数据类型,甚至可以在table元素中包含一个表,这允许嵌套。
通常,“键”放在索引运算符“[]”中,对元素的值进行索引,然后键又被称为“下标”或“索引”。例如tab[& # 8220;关键& # 8221;]选项卡[1];您也可以在成员运算符“”之后放置一个符合变量命名规则的键。,例如,tab . key tab . key 2;
b)、数组
存储在表中的元素,其数字索引从1开始,顺序连续,形成一个数组。数组在内存中的存储是有序的。
如果表中的某些元素使用数字键,但不包含在从1开始的数字索引中,它们将形成稀疏数组。
aardio中引用的数组是指有序的连续数组。
2.结构表
使用{}运算符用分号构造新的表对象;分隔每个元素(不能用逗号代替分号)。
如果成员是函数,并且以}或end结尾,则可以省略分隔符。
{0}运算符只能用作赋值、函数参数的正确值,或者包含在表达式中的另一个表构造函数中,并且不允许与其他运算符组合,也不允许向前或向后组合。它只允许包含在括号{0} []()中。
创建一个空表。
天数= {}
创建一个表数组。
天数= { & # 8220;星期日& # 8221;;“周一& # 8221;;“星期二& # 8221;;“星期三& # 8221;;“星期四& # 8221;;“Fday & # 8221;“星期六& # 8221;}
//days[1]的内容为& # 8220;星期日& # 8221;的内容。天[2]是& # 8221;周一& # 8221;……
table元素可以使用各种数据类型的变量,甚至是表达式或函数。如果我们给表中的值分配一个键名,我们将在表字典中添加一个键值对。
点= { x = 100y=200 }
//point.x的值为100;点y的值是200。
您可以在表格中同时包含“数组”和“字典”。
tab = { x = 100y = 200”星期日& # 8221;;“周一& # 8221;}
//tab.x的值为100;tab.y的值是200。
表的键名不要求符合变量命名规则,键可以是null以外的任何值或字符串。
但是,{0}构造函数中的键名必须符合变量命名规则。
任何时候,表中不符合变量命名规则的键都必须由[]运算符访问。以下是正确的书写方式:
tab = {[1]= 300;[2]=400;[“+”]=200;[1+1]=200 };//因为变量名不能以数字开头,更不能包含运算符。
上面写的相当于
tab = { };
tab[1]= 300;
tab[2]= 400;
标签[& # 8220;+”]=200;
tab[1+1]= 200;
我们可以用一对大括号包含多个变量,将它们转换成一个表数组,或者我们可以使用table.unpack函数将表数组转换成多个变量。
tab = { & # 8220a & # 8221;”abc & # 8221;”abcd & # 8221} ;//创建表格;
a,b,c = table . unpack(tab);
tab = { table . unpack(tab)};//将所有返回值转换为表变量
3.在函数参数中构造表格。
当函数中只有一个使用{}构造函数生成的表参数并且没有数组元素时,可以省略{}。
- 安卓合集
- 软件合集
- 浏览器
- 电脑管家
- 安卓游戏
软件排行榜
热门推荐
-
VMware InstallBuilder Enterprise破解版
v20.12.0 / 347 MB / 简体中文
-
Spark Studio官方版
v2.6.3 / 7.78 MB / 简体中文
-
Yearning SQL审核平台官方版
v2.3.2 / 10.2 MB / 简体中文
-
Protege官方版
v5.5 / 38.3 MB / 简体中文
-
HUAWEI LiteOS Studio官方版
v1.45.6 / 115 MB / 简体中文
-
Huawei LiteOS官方版
v5.0.0 / 87.6 MB / 简体中文
-
C语言代码实例助手官方版
v1.0 / 38.5 MB / 简体中文
-
idle python中文汉化版
v3.7 / 1.62 MB / 简体中文
-
Metabase官方版
v0.37.5 / 45.8 MB / 简体中文
-
编程猫硬件助手官方版
v1.4.1.0 / 39.3 MB / 简体中文
装机必备软件
-
word文档密码破解工具应用软件
-
冰点还原永久免费版系统软件
-
人生日历应用软件
-
一彩送货单管理系统应用软件
-
Process View系统软件
-
开心手机恢复大师其他类别
-
pdf文件阅读器应用软件
-
视频剪辑格式工厂应用软件
-
PhotoMetri应用软件
-
specinker应用软件
-
miwifi驱动驱动工具
-
海洋色音效助手影音软件
-
乐播投屏影音软件
-
seo外链助手网络软件
-
AES安全加密记事本安全相关





