lua自学笔记

//附加:(1)if语句的格式:
if n == 0 then
return 1
else
return 0 
end

(2)function函数格式
function fact(n)
end

(3)for语句的格式
for i = 1,1000
do 
a[i] = i*2 
end

泛型for循环:
for k,v in pairs(days) do
recDays[v] = k
end
//泛型for与数字型for相同点:1循环变量是循环体内的变量;2决不应该对循环变量作任何赋值

(4)while语句格式
while i<=x do
end

(5)nil只与自身相等
print(a == nil)  --->true
//不同类型的比较都是false

(6)//io.write()与print()差不多,都是输出,但一些格式上有些不一样
//区别:
1.io.write()要不在参数中不加'\n','\t'它自己是不会空行空格的;但print()中以逗号隔开的参数输出时都会自动变为空格隔开,每一次输出完自动换行
2.io.write()参数不能是nil,否则它会报错;但print(nil)输出为nil
3.io.write()参数与参数之间可以使用".."字符串连接符,但是这个会消耗很多资源
4.io.write()是原样输出参数,没有调用tostring,因此io.write({})也会报错,但print()不会报错

//键盘输入输出:
//一般情况下io.write和io.read是一对,他们从stdin读输入,输出stdout 

//文件输入输出:
//io.input()输出,io.output()输入
例:
------写在hello.lua里:
io.input("hello.lua") //打开文件读取文件中的内容
t = io.read("*all")
io.write(t,'\n')  -----输出整个 hello.lua文件的内容到stdin

//附加小知识点:
"*all" ---读取整个文件
"*line" ---读取下一行
"*number" ---从字符串转换出一个数值
num  ---读取num个字符
//如果io.read()没有参数,默认读取一行

line = io.read()  //读取一行
io.write()
io.open("hello.lua","r")//以只读形式打开hello.lua文件,打开失败返回nil和错误消息

猜你喜欢

转载自blog.csdn.net/lvyan1994/article/details/53009908