Lua基础

lua是一种脚本语言, 轻量级.
lua: cocos-2dx
– lua作为后端 纯粹的lua语言
– lua 用于热更新(unity里面直接做) 修改脚本
– 给全局变量或者 table 表里的变量赋一个 nil 值 删除之
– “2” + 6 在C#里面是字符串+字符串(数字)
– 在Lua里面是数字(string) + 数字 --> 数字
在函数外部定义全局变量在函数内部再次定义同名称的全局变量会覆盖函数外部的
若进行变量的定义 想清楚使用哪种
C#最多使用的是local
lua 若有局部变量就使用局部的
在变量使用前必须赋初值
在返回值的过程中遵循解构赋值, 多少都不会error
Tab ={A:"",C:"{EE:"",AA:"[1,2,3,4]"}",B:""}
tab[C][AA][3]
while do while for foreach
for循环里面步长不会动态改变
for i = 5, f(5),3 do
i = i +100
print(“aaaa”)
end
不管啥语言, 只要方法名称进行参数传递的都是理解为委托

注释 --[[ --]]多语句注释

数据类型

变量名必须以字母或者下划线开头,区分大小写.
nil (空类型)
boolean (逻辑型) true false
number(数值型) 双精度浮点数
string (字符串型)
function (函数)
userdata (自定义型)
thread (线程)
table (表) { }
局部变量 local修饰符
– 变量: 可以被修改的量是变量
– 常量: 不能被修改的量是常量
– 命名规则还是依据C#
– 因为lua没有常量的概念,沿用python语法规则 假常量 NUMBER
– USERNAME = “zhangsan” 假常量可以被修改
在这里插入图片描述
function num ()
local i = 1 --局部变量,只在本函数中有效
j = 2 --全局变量
end
比较运算符 ~= 不等于

关系运算符

 和       and     同真的真     &&
 或       or       存真得真      ||
 非       not      取反           not nil=true
 连接    ..        

函数

function 函数名 (参数)
内容
end

function TestLocal( )
	local  i = 250
	print( "i in TestLocal" )
	
	return i ,50, 120
end



number01, number02 = TestLocal()
print( number01,number02 )
function trade ( i)
      print (i)
      end
       do
   local gp = " 休息休息休息休息"
   trade(gp)  --调用传参
   end

return

function hs (a,b)
  X=a*a
  y=b*b
  return X ,y
  end
  i =10
  j=11
  num1,num2=has(i,j)
  print (num1.."和"..num2)
  end

判断
循环语句

array = { }

for循环例

function f(x)  
    print("function")  
    return x*2  
end
for i = 1, f(5),3 do
	i = i +100
	print(i)
end

输出为101,104,107,110.即i=1时执行循环,i=4时执行循环,i=7时,i=10时的结果.

遍历表

days = {"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"}  
--相当于foreach
for i,v in ipairs(days) do 
	print(i)
 print(days[i]) 
end  

for嵌套实现99乘法表

for i = 1, 9 do--for j = 1, 9 do--if( i >= j)
			then
			io.write( j.."*"..i.."="..i*j.." " )--不换行
		end
	end
	print("\n")--换行
end

委托

function Demo01(number)
	print( type( number ) )	-- body
end
--委托
function Demo02(number01,number02,demo01Func )
	demo01Func(number01)
	demo01Func(number02)
end

Demo02("AAAA",10,Demo01)

可变参数

function Demo01(number)
	print( type( number ) )	-- body
end
--可以变长的参数+委托
function Demo02(demo01Func ,...)
	for i,v in ipairs{...} do
		demo01Func(v)
	end
end

-- Demo02(Demo01,"AAAA",10,false,"aaaaaa","hahaha")
Demo02(Demo01,"11111",11,"4154",'a')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值