JavierShare的笔记04——基础Lua语言
Posted JavierShare
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavierShare的笔记04——基础Lua语言相关的知识,希望对你有一定的参考价值。
这是JavierShare的第 4 篇原创文章
这一期笔记写一下Lua语言的基础语法。有许多接触过其他C类型的语言的人,会发现其实大部分语言都和C差不多,Lua也一样,只是小部分不同罢了,所以对我来说,那些想要去了解语言的人,自然会去学习和深入了解,水平高的人,也大有人在,所以我的知识会不吝啬得分享出来,所以且行且珍惜吧~( 看的人少:) )
开始。
01
Print("Hello World") 代码间无分号。
age = 100 变量直接申明,不用类型。
name="Javier" 尽量避免_下划线开头
isMan=True
-- 这是单行注释 单行注释
--[[中间代码内容]]-- 多行注释
nil 表示空数据,等同于null
myTable={1,2,3,4,5} 数组 索引是从1开始,C是0开始
myTable=[3] 数组第三项
type() 可以获取类型
Tips:最默认定义得变量都是全局的,定义局部变量需要加一个local
02
算数运算符 + - * / % Lua中没有++ --自加运算符
关系运算符 <= < > >= ==
逻辑运算符 and(与) or(或) not(非)
03
if循环
local hp = 0
if hp<=0 then
print("player is die")
end
local hp = 100
if hp<=0 then
print("player is die")
elseif hp>=50 then
print("player is good")
end
local hp = 50
if hp<=0 then
print("player is die")
elseif hp>=50 then
print("player is good")
else
print("player is bad")
end
Tips:这里elseif 一定要连写,只要有if 后面一定要跟then。
04
while和repeat和for循环
index=1
while index<=100 do
print(index)
index=index+1
end
sum=0
index=1
while index<=100 do
sum = sum +index
index=index+1
end
sum=0
index=1
while index<=100 do
if index%2==1 then
sum = sum +index
end
index=index+1
end
repeat循环(相当于C#里的do)
index=1
repeat
print(index)
index = index+1
until index>100
sum=0
index=1
repeat
sum=sum+index
index = index+1
until index>100
print(sum)
sum=0
index=1
repeat
if index%2==1 then
sum=sum+index
end
index = index+1
until index>100
print(sum)
for循环
for index=1,100 do
print(index)
end
sum=0
for index=1,100 do
sun=sum+index
end
sum=0
for index =1,100 do
if index%2==1 then
sum=sum+index
end
end
Tips:break 可以终止循环,没有continue语法。
05
方法
function Plus(num1,num2)
return num1+num2
end
res = Plus(1,2)
print(res)
Lua标准库
一般用math.abs.cos.max.maxinteger.min.random.sin.sqrtt.tan
string.byte.char.find.format.lower.sub.upper
tostring() 把一个数字转化成字符串
tonumber() 字符串转数字
myTable[]={}
myTable["name"]="apple"
myTable.name="apple" 会覆盖上面
myTable = {name="apple",age=18,isMan=false}
myTable={3,3,3,3,3,3,"dadsa"}
遍历
1.如果只有数字键,并且是连续的。
Scores={1.2.3.4.6}
for index=1,table.getn(scores) do
prit(scores[index])
end
2.所有表都可以输出
for(index,value in pairs(Scores) do
print(index,value)
end
table.concat,insert.move.pack.remove.sort.unpack
06
面向对象
Enemy={}
local this = Enemy
Enemy.hp=100
Enemy.spend=10
Enemy.Move=function()
print("移动")
end
function Enemy.Attack()
print(this.hp,"attack")
this.Move()
end
Enemy.Attack() --调用
Keep Active
以上是关于JavierShare的笔记04——基础Lua语言的主要内容,如果未能解决你的问题,请参考以下文章