首页 > 编程源码 > 【CDK】AndLua+入门教程1

【CDK】AndLua+入门教程1

楼主:采花贼ヾ? [3级] · 2020-1-8 ·  浏览22533 · 编程源码 · ID:

首先我们先来了解AndLua+

关于AndLua+是基于开源项目lua开发的轻型脚本编程工具,使用简洁优美的lua语言,简化了繁琐的Java语句,同时支持使用大部分安卓api,免安装调试,使你在手机上开发更加轻松快捷,程序申请的权限是为了你编写程序使用,请大家放心使用。

软件的基本操作

工程结构
init.lua 工程配置文件
main,lua 工程主入口文件
layout.aly 工程默认创建的布局文件

基本功能
左箭头 撤销:撤销输入的内容
保存:保存当前文件
新建:新建lua代码文件或者aly布局文件,代码文件与布局文件文件名不可以相同
编译:把当前文件编译为luac文件,通常用不到
打开:在工程列表打开工程
打包:将当前工程编译为apk,默认使用debug签名
新建:新建一个工程
备份:将当前工程备份为AndLua+文件
编辑:编辑当前工程的属性,如 名称 权限等
格式化:重新缩进当前文件使其更加便于阅读
导入分析:分析当前文件及引用文件需要导入的java类
查错:检查当前文件是否有语法错误
布局助手:在编辑器打开aly文件时用于设计布局,目前功能尚不完善
(楼层继续更新,认证楼主✔)

━━━━━━━━━━━━━━━━━
❧━━━━━━━━━━━━━━━━
喜欢给个关注吧!路过回复一下,谢谢!
喜欢给个关注吧!路过回复一下,谢谢!
喜欢给个关注吧!路过回复一下,谢谢!
┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅

快关注楼主吧,关注楼主=关注了全网精品[揪耳朵]
点击楼主头像就以关注啦!爱你呢

粉丝暴富的魔法~
  ∧_∧
(。・ω・。)つ━☆..  ・*。
  ⊂   ノ      ・゜+.
 しーJ     °。+ *´¨)
   ***      .· ´¸.·*´¨) ¸.·*¨)
         *** (¸.·´ (¸.·’*


- 版权声明 - 1、本帖所有言论和图片等纯属网友个人意见,与流星社区立场无关;
2、其他单位或个人使用、转载或引用本帖时必须同时征得该帖子作者采花贼ヾ?流星社区的同意;
3、备注原文地址:https://bbs.liuxingw.com/t/21940.html,可忽略第2条;
4、帖子作者需承担一切因本文发表而直接或间接导致的相关责任;
5、如本帖内容或部分内容转载自其它媒体,这并不代表本站赞同其观点和对其真实性负责;
6、如本帖若为资源类,将仅限用于学习和研究目的,您必须在下载后的24个小时之内,从您安装或使用的设备中彻底删除上述内容;
7、如果您喜欢该程序,请支持正版软件,购买注册,可以得到更好的正版服务;
8、如本帖侵犯到任何版权或违法问题,请立即邮件告知我们,我们将及时予以处理。
207条回复 |  最后回复于2020-3-29

采花贼ヾ? [3级]

泛型 for 在自己内部保存迭代函数,实际上它保存三个值:迭代函数、状态常量、控制变量。

泛型 for 迭代器提供了集合的 key/value 对,语法格式如下:

for k, v in pairs(t) do
print(k, v)
end
上面代码中,k, v为变量列表;pair(t)为表达式列表。

查看以下实例:

array = {"Lua", "Tutorial"}

for key,value in ipairs(array)
do
print(key, value)
end
以上代码执行输出结果为:

Lua
Tutorial

以上实例中我们使用了 Lua 默认提供的迭代函数 ipairs。

下面我们看看范性for的执行过程:

首先,初始化,计算in后面表达式的值,表达式应该返回范性for需要的三个值:迭代函数、状态常量、控制变量;与多值赋值一样,如果表达式返回的结果个数不足三个会自动用nil补足,多出部分会被忽略。
第二,将状态常量和控制变量作为参数调用迭代函数(注意:对于for结构来说,状态常量没有用处,仅仅在初始化时获取他的值并传递给迭代函数)。
第三,将迭代函数返回的值赋给变量列表。
第四,如果返回的第一个值为nil循环结束,否则执行循环体。
第五,回到第二步再次调用迭代函数
。在Lua中我们常常使用函数来描述迭代器,每次调用该函数就返回集合的下一个元素。Lua 的迭代器包含以下两种类型:

1,无状态的迭代器
2,多状态的迭代器
发布于2020-1-9

回复列表

  • 内容加载中...

说点什么...

采花贼ヾ? [3级]

无状态的迭代器
发布于2020-1-9

回复列表

  • 内容加载中...

说点什么...

采花贼ヾ? [3级]

无状态的迭代器是指不保留任何状态的迭代器,因此在循环中我们可以利用无状态迭代器避免创建闭包花费额外的代价。每一次迭代,迭代函数都是用两个变量(状态常量和控制变量)的值作为参数被调用,一个无状态的迭代器只利用这两个值可以获取下一个元素。这种无状态迭代器的典型的简单的例子是ipairs,他遍历数组的每一个元素。以下实例我们使用了一个简单的函数来实现迭代器,实现 数字 n 的平方:function square(iterator Count,currentNumber) if currentNumberiterator Count then currentNumber = currentNumber+1 return currentNumber, currentNumber*currentNumber endendfor i,n in square,3,0 do print(i,n)end以上实例输出结果为:149迭代的状态包括被遍历的表(循环过程中不会改变的状态常量)和当前的索引下标(控制变量),ipairs和迭代函数都很简单,我们在Lua中可以这样实现:function iter (a, i) i = i + 1 local v = a[i] if v then return i, v endendfunction ipairs (a) return iter, a, 0end当Lua调用ipairs(a)开始循环时,他获取三个值:迭代函数iter、状态常量a、控制变量初始值0;然后Lua调用iter(a,0)返回1,a[1](除非a[1]=nil);第二次迭代调用iter(a,1)返回2,a[2]……直到第一个nil元素
发布于2020-1-9

回复列表

  • 内容加载中...

说点什么...

采花贼ヾ? [3级]

多状态的迭代器
发布于2020-1-9

回复列表

  • 内容加载中...

说点什么...

采花贼ヾ? [3级]

很多情况下,迭代器需要保存多个状态信息而不是简单的状态常量和控制变量,最简单的方法是使用闭包,还有一种方法就是将所有的状态信息封装到table内,将table作为迭代器的状态常量,因为这种情况下可以将所有的信息存放在table内,所以迭代函数通常不需要第二个参数。

以下实例我们创建了自己的迭代器:

array = {"Lua", "Tutorial"}

function elementIterator (collection)
local index = 0
local count = #collection
-- 闭包函数
return function ()
index = index + 1
if index = count
then
-- 返回迭代器的当前元素
return collection[index]
end
end
end

for element in elementIterator(array)
do
print(element)
end

以上实例输出结果为:

Lua
Tutorial

以上实例中我们可以看到,elementIterator 内使用了闭包函数,实现计算集合大小并输出各个元素。
发布于2020-1-9

回复列表

  • 内容加载中...

说点什么...

采花贼ヾ? [3级]

Lua文件I/O
发布于2020-1-9

回复列表

  • 内容加载中...

说点什么...

采花贼ヾ? [3级]

Lua I/O 库用于读取和处理文件。分为简单模式(和C一样)、完全模式。

简单模式(simple model)拥有一个当前输入文件和一个当前输出文件,并且提供针对这些文件相关的操作。
完全模式(complete model) 使用外部的文件句柄来实现。它以一种面对对象的形式,将所有的文件操作定义为文件句柄的方法
简单模式在做一些简单的文件操作时较为合适。但是在进行一些高级的文件操作的时候,简单模式就显得力不从心。例如同时读取多个文件这样的操作,使用完全模式则较为合适。

打开文件操作语句如下:

file = io.open (filename , mode)
mode 的值有:
发布于2020-1-9

回复列表

  • 内容加载中...

说点什么...

采花贼ヾ? [3级]

"r" 以只读方式打开文件,该文件必须存在。
发布于2020-1-9

回复列表

  • 内容加载中...

说点什么...

采花贼ヾ? [3级]

"w" 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
发布于2020-1-9

回复列表

  • 内容加载中...

说点什么...

采花贼ヾ? [3级]

"a" 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
发布于2020-1-9

回复列表

  • 内容加载中...

说点什么...
登录注册 后才可进行评论
签到
9人签到
已签0天
  • 46063帖子
  • 1929709热点量
  • 182263火热值