Lua基础学习(二)

上一篇: Lua基础学习(一)https://blog.youkuaiyun.com/sun_zeliang/article/details/86609555

 

Lua函数

格式

函数类型 function 函数名称(参数1, 参数2, 参数3,..., 参数n)
   执行体
   return 返回值1,返回值2,返回值3,..
end

和C#还是有一点区别的,首先Lua不需要写返回值类型,然后返回值是可以返回多个的,逗号 ‘,’ 隔开 ,而且Lua函数只有全局函数和局部函数的区别,全局函数就什么都不用加,局部函数在最前面加 local

实例:

function func_Max(array)
  if(#array<1)
  then
    print("数组数量为0")
	return
  end
  index=array[1]
  for k,v in ipairs(array)
    do
	if(index<v)
	then
	  index=v
	end
  end
  return index
end

array={11,3,4,5,6,7,10}
print("数组的最大值是:"..func_Max(array))

Lua的函数还有一个很大的区别就是函数是可以作为参数的

实例:

func_Max = function(array)
  if(array==nil)
  then
    print("数组为nil")
	return
  end
  index=array[1]
  for k,v in ipairs(array)
    do
	if(index<v)
	then
	  index=v
	end
  end
  return index
end

function func_Print(array,func_Max)
  result = func_Max(array)
  if(result==nil)
  then
    return
  end
  print("数组的最大值是:"..result)
end

array={11,3,4,5,6,7,10}
func_Print(array,func_Max)

多返回值

实例

function func_Test(num1,num2)
  return num1/num2,num1%num2
end

print(func_Test(10,3))

可变参数

这个和C语言有点像,用三个点 ... 表示

实例

function func_paras(...)
local result=0
local count=select("#",...)  --select("#",...)可以获得可变参数数量
local index=select(1,...)    --select(1,...)获得的是可变参数中索引为1的值
  for i,v in ipairs{...}  --{...}表示由所有参数构成的数组
  do
    result=result+v
  end
  print("可变参数和为:"..result.."\n"..
        "可变参数数量为:"..count.."\n"..
	"可变参数索引为1的值为:"..index)
end

print(func_paras(3,4,5,6,7))

Lua运算符

算术运算符

和C#一样

关系运算符

和C#唯一的区别就是不等于了,Lua是 ~=   C#是 !=

逻辑运算符

Lua中是 and   or   和  not

and:逻辑与

or:逻辑或

not:逻辑非

和C#一样,只是写法不一样

假设: A为true,B为false

则 A and B  为 false

     A or B 为 true

    not (A and B) 为 true

其他运算符

...  :连接两个字符串

#   :返回一个字符串或表的长度

Lua字符串

就是字符串 三种写法 单引号 双引号和 [[]]

Lua数组

一维数组和多维数组

在Lua中,数组的索引是可以用字符串的,比如 table["wow"]=1,而且索引是从1开始,而不是其他语言的0 

多维数组的创建

实例

array={}
for i=1,3 do
  array[i]={}
  for j=1,3 do
  array[i][j]=i*j
  end
end

for i=1,3 do
  for j=1,3 do
    print(array[i][j])
  end
end

 

下一篇: Lua基础学习(三):https://mp.youkuaiyun.com/postedit/86677031

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值