Function 将变量传递到Lua中的函数
我是Lua的新手,所以(很自然)我第一次尝试编程时就被卡住了。我正在使用Corona Developer包提供的示例脚本。下面是我试图调用的函数的简化版本(删除了无关的材料):Function 将变量传递到Lua中的函数,function,lua,coronasdk,Function,Lua,Coronasdk,我是Lua的新手,所以(很自然)我第一次尝试编程时就被卡住了。我正在使用Corona Developer包提供的示例脚本。下面是我试图调用的函数的简化版本(删除了无关的材料): function new( imageSet, slideBackground, top, bottom ) function g:jumpToImage(num) print(num) local i = 0 print("jumpTo
function new( imageSet, slideBackground, top, bottom )
function g:jumpToImage(num)
print(num)
local i = 0
print("jumpToImage")
print("#images", #images)
for i = 1, #images do
if i < num then
images[i].x = -screenW*.5;
elseif i > num then
images[i].x = screenW*1.5 + pad
else
images[i].x = screenW*.5 - pad
end
end
imgNum = num
initImage(imgNum)
end
end
我得到这个错误:
尝试将数字与零进行比较
第225行。似乎“num”没有被传递到函数中。为什么会这样?您在哪里声明
g
?您正在向g
添加一个不存在的方法(作为本地方法)。那你也永远不会回来了。但很可能这些只是复制错误或其他什么。真正的错误可能是您用来调用test的符号:jumpToImage
您可以声明g:jumpToImage(num)
。冒号表示第一个参数应被视为self
。实际上,您的函数是g.jumpToImage(self,num)
稍后,您将其称为test.jumpToImage(2)
。这使得self
的实际参数为2,num
为nil。您要做的是测试:跳到图像(2)
。此处的冒号使表达式扩展为test.jumpToImage(test,2)
查看第页以了解Lua的
语法解释:
语法。您在哪里声明g
?您正在向g
添加一个不存在的方法(作为本地方法)。那你也永远不会回来了。但很可能这些只是复制错误或其他什么。真正的错误可能是您用来调用test的符号:jumpToImage
您可以声明g:jumpToImage(num)
。冒号表示第一个参数应被视为self
。实际上,您的函数是g.jumpToImage(self,num)
稍后,您将其称为test.jumpToImage(2)
。这使得self
的实际参数为2,num
为nil。您要做的是测试:跳到图像(2)
。此处的冒号使表达式扩展为test.jumpToImage(test,2)
查看第页,了解Lua的:
语法的解释
local test = slideView.new( myImages )
test.jumpToImage(2)