当前位置: 首页 > 工具软件 > Lua Fun > 使用案例 >

Lua 函数function与参数

沙靖琪
2023-12-01

函数

--函数 的返回值和参数不需要定义类型
--lua 中使用end代表函数的结束 不需要{}
function fun1(n)
  if n==1 then
	return n
  else
    return n * fun1(n - 1)
  end
end

print(fun1(3)) -- 输出6

--可以把函数当做一个类型使用
fun2 = fun1
print(fun2(3)) -- 输出6


--函数作为参数传递
function fun3(tab,fun)
  for k ,v in pairs(tab) do
    print(fun(k,v)); --读取键值对
  end
end

tab={key1="val1",key2="val2"}
function fun(key,val)
 return key.." = "..val;
end

--fun3(tab, fun) --输出key1 = val1; key2 = val2


--函数作为匿名函数,做参数
fun3(tab,
function(key,val)
 return '键'..key.." = ".."键"..val;
end) --输出键key1 = 键val1; 键key2 = 键val2

function

--函数 的返回值和参数不需要定义类型
--lua 中使用end代表函数的结束 不需要{}
function fun1(n)
  if n==1 then
	return n
  else
    return n * fun1(n - 1)
  end
end

print(fun1(3)) -- 输出6

--可以把函数当做一个类型使用
fun2 = fun1
print(fun2(3)) -- 输出6


--函数作为参数传递
function fun3(tab,fun)
  for k ,v in pairs(tab) do
    print(fun(k,v)); --读取键值对
  end
end

tab={key1="val1",key2="val2"}
function fun(key,val)
 return key.." = "..val;
end

--fun3(tab, fun) --输出key1 = val1; key2 = val2


--函数作为匿名函数,做参数
fun3(tab,
function(key,val)
 return '键'..key.." = ".."键"..val;
end) --输出键key1 = 键val1; 键key2 = 键val2
 类似资料: