kl
kl
Lua for windows v5.1.5
--[[
--]]
file=io.open("data1.txt","r")
io.input(file)
print(io.read("*l"))
print(io.read("*n"))---按行算,如果行为数字,可读,如果为字符则返回nil,指针停止在此处
print(io.read("*n"))
print(io.read("*n"))
print(io.read("*l"))
print(io.read("*l"))
io.close(file)
--测试文本
撒大大的
35 阿打算
12
--返回结果,???表示汉字,应该是编码导致的乱码,不过不影响
????
35
nil
nil
???
12
read("*n")表示把这行按照数字格式来读,如果不是数字返回nil,且指针不动
关键字:
end break do else elseif
1.windows环境
SciTE
1.lua可以在几乎所有的操作系统和平台进行编译运行
2.C#只能在特定的操作系统中进行编译成dll文件,然后打包进安装包在其他平台运行
3.《Programming in Lua》
http://www.runoob.com/lua/lua-tutorial.html
www.lua.org
do while()循环也是 当while内的条件为真时停止do的循环,简单翻译就是做一篇do里面的内容,直到while为真时停止。和repeat until的逻辑上是一样的
lua
1.定义
coroutine.create()
2.继续
coroutine.resume()
lua 的多行注释:
- -[[
- -]]
这样的格式
当行注释为:- - 符号
单行注释
--
多行注释
---[[
--]]
函数
function fact(n)
if n ==1 then
return n;
else
return n*fact(n-1)
end
end
定义
tab2 = {"1","2","3"}
tab1.key = "string"
遍历
for key,val in pairs(tab1) do
print(key.. ":" .. val)
end
删除
tab1.key = nil
标识符:
大写 小写 下划线_开头 加上0个多个字母
最好不要使用下划线加大写字母的标识符, .....因为Lua的保留字部分也是这样
Lua区分大小写
lua 学习网站:
菜鸟教程
Lua 不需要编译
使用#取表的长度(数据个数)时,仅对数组类型的数据有效。
local function test(...)
for k,v in pairs(arg)
do
print(v)
end
end
形参使用 ...
函数体中用arg[x],取出参数,有n个参数,则arg表中有n+1个参数,其中最后一个为参数个数。 为方便使用:
可在函数体内部再定义,local arg ={...},此时的局部变量是不包含参数个数的。参数的个数可用 #arg取得。
local function test(...)
local arg ={...}
for k,v in pairs(arg)
do
print(v)
end
end
多个赋值,是从右往左依次赋值的。
函数定义:
[修饰符] function(函数定义关键字) 函数名 (参数1,参数2,...)
函数体
end(函数结束关键字)
1. 函数可以作为数据赋值
2. 函数可以作为参数传递
-----------------------------------------------
lua 函数可以返回多个值