你如何根据条件在Lua中将整个函数命名为false?例:
if homeruns == 1 or homeruns == 2
then function BabeRuth() = false
end
当我尝试执行以下代码时,它给了我这个错误:
尝试索引字段'other'(零值)
但我不知道为什么.
代码:
function onCollision(event)
 if event.phase == "began" then 
    if event.other.star == "star" then
       score = score + 1
    elseif event.other.mine1 == "mine1" then
       if jet.collided == false then
         timer.cancel(tmr)    
         jet.collided = true    
         jet.bodyType = "static"
         explode()
       end
     end
   end
 end
提前致谢 :)
有没有人知道如何使用Lua套接字用于Corona sdk,我想使用设备将API传递到服务器并将数据从服务器接收回设备.我只找到http://appcodingeasy.com/Gideros-Mobile/Using-LuaSocket-in-Gideros,它适用于Gideros SDK.
任何帮助,将不胜感激.谢谢.
我试图比较两个字符串,其中第一个字符串是数组的单个元素,第二个数组只是一个常规字符串.出于某种原因,这种比较并非如此.希望有人可以指出我正确的方向!
empty =  "        " 
pawn =   "  Pawn  " 
rook =   "  Rook  " 
knight = " Knight " 
bishop = " Bishop " 
queen =  "  Queen " 
king =   "  King  "
emptyspot = {} 
for i = 1, 8 do
    emptyspot[i] = {}
    for j = 1, 8 do
        emptyspot[i][j] = "    /    "   
    end 
end
function chessBoard() 
    io.write("\n\nWelcome to LuaChess!\n\n") 
    io.write("          1        2        3        4        5        6        7        8    \n") 
    io.write("      *************************************************************************\n") 
    io.write("      *".. empty …我还在玩lua模块,我发现了以下"有趣"的问题,这取决于你在模块中创建方法/函数的方式.请注意名为test_suite.lua的文件中的以下代码:
local mtests = {} -- public interface
function mtests:create_widget(arg1)
 print(arg1)
 -- does something
 assert(condition)
 print("TEST PASSED")
end
 return mtests
使用上面的代码,无论我在调用create_widget()时传入什么,arg1总是为nil.但是,如果我将函数的定义更改为如下所示:
function mtests.create_widget(arg1) -- notice the period instead of colon
 print(arg1)
 -- does something
 assert(condition)
 print("TEST PASSED")
end
然后,系统正确显示arg1.
这就是我调用方法的方法:
execute_test.lua
local x = require "test_suite"
x.create_widget(widgetname)
你能告诉我有什么区别吗?我一直在阅读:http://lua-users.org/wiki/ModuleDefinition
但我没有遇到过任何可以解释这个问题的事.谢谢.
与某些语言一样,您可以添加括号来指定代码.我能在Lua中做些什么来分割我的代码部分,类似于下面的例子吗?
{
    //Code
}
我需要在Lua中排序和未指定数量的数字.例如,如果我有数字15,21,31,50,32,11,11.我需要lua来排序它们,所以第一个是最大的像这样:50,32,31,21,15,11,11.
最简单的方法是什么?记住,它必须使用未指定的数字.谢谢!
所以我传递一个包含字段的参数.它将永远有一些领域,有些可能没有.
例如
field = {
  Name  ={  x=0.9833, y=2, h=0.2, w=3.12, f="Times Roman"},
  Suite ={  x=0.6933, y=1.74, h=0.2, w=0.5867}
}
function do_it_with(parm)
  local height=parm.h -- never fails
  local font=parm.f -- errors out if f not specified. 
-- more stuff --
  end
do_it_with(field.Name) -- just fine
do_it_with(field.Suite) -- "attempt to index field 'f' (a nil value)"
哪个我不明白.首先,为什么字体不能变成零?第二,我以为我可以做到
local font=parm.f or "Arial"
但这似乎是失败的同样的错误.所以现在我正在做
if (type(field.f) ~= "string") then field.f = "Arial" end
哪个有效,但它/丑陋/
我正在寻找一种方法来找出哪个值最接近表中的x并返回该值.
让我们假设,一秒钟,X是x = 15,我们有4个值{12,190,1,18}的表,我如何使它在这种情况下返回第一个键和值?