为了账号安全,请及时绑定邮箱和手机立即绑定

请问关于LUA语言请教 function函数使用?

请问关于LUA语言请教 function函数使用?

慕姐4208626 2019-07-10 11:07:34
LUA语言请教 function函数使用
查看完整描述

5 回答

?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

本身也是闭包的一个演示例子
首先你要看newCounter这个函数的返回值
它的返回值 返回的不是一个具体的数字,而是一个函数
所以 如果直接print这个函数 得到的是function xxxx
当调用这个返回的函数才能得到这个值

查看完整回答
反对 回复 2019-07-14
?
千巷猫影

TA贡献1829条经验 获得超7个赞

冒号本身是一个语法糖

当一个table内的方法被以冒号调用的话表示把这个table作为第一个参数传进去

写个demo

123456local t = {}t.fun = function(tab,v)    print(tab,v)endt:fun(123)t.fun(t,123)

这2个是相同的

所以根据你的function判断是否需要传入table来判断是否需要用冒号


查看完整回答
反对 回复 2019-07-14
?
holdtom

TA贡献1805条经验 获得超10个赞

你首先要知道 lua语言是一个脚本语言

脚本语言的话只负责处理中间的过程,具体很多事务的实现需要依赖于接口

如果针对你的要求

123456function main()    local a = 4    local b = 5    local res = a + b    text:setValue(res)end

当然 这里不一定就是用text:setValue 因为不同宿主语言提供的接口不一样 这就导致了你的setValue这个名字不一样

而且同时可能有很多的文本框,也会导致你的text不同  具体要看宿主语言的提供


查看完整回答
反对 回复 2019-07-14
?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

function test(a, b)
return a+b, a-b

end

local m, n = test(5, 3)

print(m)
print(n)

输出结果为:
8
2



查看完整回答
反对 回复 2019-07-14
?
慕哥9229398

TA贡献1877条经验 获得超6个赞

testFun是入口函数,也就是执行是从这个函数开始的,这个函数有两个参数,一个是表tab,一个是函数fun,它们都是形参;当调用它时会传入两个实参,它们的名称不一定和形参的名字相同。
f1是另一个函数,它是testFun函数中第二个参数的实参,也就是实际执行时是执行的这个函数
fun(k, v)在testFun传入实参后变成了f1(k, v)

查看完整回答
反对 回复 2019-07-14
  • 5 回答
  • 0 关注
  • 1210 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信