lua学习毕竟1(基础篇)

来源:互联网 发布:手机淘宝不能分期付款 编辑:程序博客网 时间:2024/04/30 01:05
((((一:lua基础))))
弱类型(无类型)


脚本.lua文本拓展名文件


控制台执行脚本dofile命令:dofile("c:\\a.lua")


使用\\来代替\,转义特殊字符,转义符号 \' \" \\


变量名和函数名,不能使用数组和下划线,因为下划线是它自身要求保留的系统关键字


lua关键字:
and break do else elseif end false
for function if in local nil not 
or repeat return then true until while


程序注释:--


默认命名规范:
常量大写:MY_CONSTANT
变量名第一个字母小写:myVariable
全局变量第一个字母小写 gMyGlobal
函数名第一个字母大写 function MyFunction()




1.print(value) 打印值,无需提供输出格式化
2.循环 for 初始值,条件结束值 do .... end
for ... do ... end
例子:
for i=0,4 do
    print(i) 
  end
3.type(value) type函数可以用来判断变量的类型
lua中有5种变量:nil, Boolean, string, Number,tables


4.字符
\a \v \b \f \n \r \t \\ \" \' \[ \] \v


5.注意,lua会根据上下文合理的情况下进行数字和字符之间的转换:
print("8" + 8)
打印 16
print("8 + 8")
打印 8+8
print("hello world " + 8)
打印:ERROR:[string "?"] attempt to perform arithmetic on a string value


6.lua中没有整数类型,只有双精浮点数。
myNumber = 0.76  or myNum = 7.65e8  7.65e-2 :10^-2


7.table 是lua中最强大也是最容易造成困扰的数据类型
myTable = {2, 4, 6, 8, 10}
print(MyTable[3])
myTable[6] = 12
print(myTable[6])


没有越界这一说,只有没有被赋值而已。而且每个元素
存储的值类型可以不同 [0]="name" [0] = false


7.lua变量默认是全局的,变量值在整个会话中是保持不变的,
除非脚本改变了它。g_
定义局部变量用 local myValue,变量的有效范围取决于它的位置


function MyFunction()
local myX = 7 -- myX直到全局范围结束s
if myX < 10 then
  local myY = "hello world" 
end
print(myY) --这个时候这个变量就是nil值
end 


局部变量非常适用于for循环的计数器i j k 


8. if语句
if 表达式 then
 ...
end


for 初始值,结束值 do
...
end


9.比较运算符,其他都一样,就一个不同 ~
!= ---->  ~=   


9.比较两个table类型,是比较的指针,而不是里面的值哦
table1 = [1, 2]
table2 = [2, 3]
if table1 == table2 then
 xxx
else
 xxx       --->do this
end
 


table1 = [1, 2]
table2 = table1
if table1 == table2 then 
 xxx     ----> do this
else
 xxx
end 




1.and --> && 
  or  --> || 
注意:lua中值为false 和 nil才是false,其他任何值都是true,包括0


2.所有控制结构都是以end作为结束标记的:


循环操作:while repeat,repeat==do while
while 条件表达式 do
  xxxx
end
-------------------------
repeat
 xxxx
until 条件表达式


=======数字型的for(下次学习通用型的for)====================
for indx = 10,1, -1 do  --10到1向后计数
  print(indx)
end
for indx = 1, 100, 2 do --1到100每次走2步
  print(indx)
end


第三个表达式表示i+=? , 不写,则表示+1
写-1表示每次+=-1
写2表示么次+=2


3.break跳出循环
0 0