标签: lua

Lua声明一个函数是假的

你如何根据条件在Lua中将整个函数命名为false?例:

if homeruns == 1 or homeruns == 2
then function BabeRuth() = false
end
Run Code Online (Sandbox Code Playgroud)

lua

0
推荐指数
1
解决办法
81
查看次数

如何在Lua脚本中获取当前时间?

如何使用Lua脚本获取当前时间并将其转换为人类可读文本.

timezone lua utc

0
推荐指数
1
解决办法
1万
查看次数

Lua碰撞零值

当我尝试执行以下代码时,它给了我这个错误:

尝试索引字段'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
Run Code Online (Sandbox Code Playgroud)

提前致谢 :)

null lua physics collision

0
推荐指数
1
解决办法
129
查看次数

Corona SDK的Lua Socket连接

有没有人知道如何使用Lua套接字用于Corona sdk,我想使用设备将API传递到服务器并将数据从服务器接收回设备.我只找到http://appcodingeasy.com/Gideros-Mobile/Using-LuaSocket-in-Gideros,它适用于Gideros SDK.

任何帮助,将不胜感激.谢谢.

lua luasocket coronasdk

0
推荐指数
1
解决办法
3227
查看次数

Lua中两个字符串的比较

我试图比较两个字符串,其中第一个字符串是数组的单个元素,第二个数组只是一个常规字符串.出于某种原因,这种比较并非如此.希望有人可以指出我正确的方向!

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 …
Run Code Online (Sandbox Code Playgroud)

string comparison lua lua-table

0
推荐指数
2
解决办法
5919
查看次数

lua模块 - 使用":"和"."之间的区别是什么.在定义函数时?

我还在玩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
Run Code Online (Sandbox Code Playgroud)

使用上面的代码,无论我在调用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
Run Code Online (Sandbox Code Playgroud)

然后,系统正确显示arg1.

这就是我调用方法的方法:

execute_test.lua

local x = require "test_suite"
x.create_widget(widgetname)
Run Code Online (Sandbox Code Playgroud)

你能告诉我有什么区别吗?我一直在阅读:http://lua-users.org/wiki/ModuleDefinition

但我没有遇到过任何可以解释这个问题的事.谢谢.

lua module

0
推荐指数
1
解决办法
888
查看次数

是否可以在Lua中创建代码段?

与某些语言一样,您可以添加括号来指定代码.我能在Lua中做些什么来分割我的代码部分,类似于下面的例子吗?

{
    //Code
}
Run Code Online (Sandbox Code Playgroud)

lua brackets

0
推荐指数
1
解决办法
126
查看次数

在Lua中排序未指定数量的数字

我需要在Lua中排序和未指定数量的数字.例如,如果我有数字15,21,31,50,32,11,11.我需要lua来排序它们,所以第一个是最大的像这样:50,32,31,21,15,11,11.

最简单的方法是什么?记住,它必须使用未指定的数字.谢谢!

sorting lua

0
推荐指数
1
解决办法
37
查看次数

更优雅的方式在LUA中选择默认值并避免"尝试索引字段'x'(零值)"

所以我传递一个包含字段的参数.它将永远有一些领域,有些可能没有.

例如

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)"
Run Code Online (Sandbox Code Playgroud)

哪个我不明白.首先,为什么字体不能变成零?第二,我以为我可以做到

local font=parm.f or "Arial"
Run Code Online (Sandbox Code Playgroud)

但这似乎是失败的同样的错误.所以现在我正在做

if (type(field.f) ~= "string") then field.f = "Arial" end
Run Code Online (Sandbox Code Playgroud)

哪个有效,但它/丑陋/

parameters lua default

0
推荐指数
1
解决办法
158
查看次数

找到最近的值

我正在寻找一种方法来找出哪个值最接近表中的x并返回该值.

让我们假设,一秒钟,X是x = 15,我们有4个值{12,190,1,18}的表,我如何使它在这种情况下返回第一个键和值?

lua lua-table

0
推荐指数
1
解决办法
1061
查看次数