property = {a=120,b=50,c=85}operator = {has = {a,b},coefficIEnt = {a = 0.45}}function Result(x) return operator.has.x * operator.coefficIEnt.x endprint (Result(a))error: attempt to perform arithmetic on fIEld 'x' (a nil value)
问题是该函数在字面上尝试数学
“operator.has.x”而不是“operator.has.a”.
我能够调用函数(x)返回x.something结束,但如果我尝试函数(x)something.x我得到一个错误.我需要提高我对Lua中函数的理解,但我在手册中找不到这个.
解决方法 我不确定你要做什么,但这里有一些基于你的代码的工作代码:property = {a=120,c=85}operator = {has = {a=2,b=3},coefficIEnt = {a = 0.45}}function Result(x) return operator.has[x] * operator.coefficIEnt[x] endprint (Result('a'))
打印’0.9′
总结以上是内存溢出为你收集整理的Lua功能 – 一个简单的误解全部内容,希望文章能够帮你解决Lua功能 – 一个简单的误解所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)