我想检查,如果一个数字可以被另一个数字整除:
for i = 1, 100 do
if i % 2 == 0 then
print( i .. " is divisible.")
end
end
Run Code Online (Sandbox Code Playgroud)
这应该没有任何问题,但在我的服务器中使用Lua脚本不会运行,如果脚本中有一个%...我不知道原因是什么,那么有什么"替代"吗?所以我可以检查数字可分性?
谢谢.
我有一个Lua表,我正在尝试排序.表的格式如下:
tableOfKills[PlayerName] = NumberOfKills
Run Code Online (Sandbox Code Playgroud)
这意味着,例如,如果我有一个名为Robin的玩家总共有8个杀戮而另一个名为Jon的玩家共有10个杀戮,那么该表将是:
tableOfKills[Robin] = 8
tableOfKills[Jon] = 10
Run Code Online (Sandbox Code Playgroud)
我如何对这种类型的表进行排序以首先显示最高的杀戮?提前致谢!
原始邮政
鉴于Lua中没有内置函数,我正在寻找一个允许我将表附加在一起的函数.我搜索了很多,并尝试了我偶然发现的所有解决方案,但似乎都没有正常工作.
场景是这样的:我在应用程序中使用Lua.应用程序的内部命令以表格的形式返回值列表.
我想要做的是在循环中递归调用该命令,并将返回的值再次以表格的形式附加到以前迭代的表中.
编辑
对于那些将来遇到这篇文章的人,请注意@gimf发布的内容.由于Lua中的Tables与其他任何内容一样(即使在列表上下文中),因此没有真正正确的方法将一个表附加到另一个表.最接近的概念是合并表格.请查看帖子" Lua - 合并表? "以获得这方面的帮助.
我的目标是从Lua的表中挑选一个随机项目.
这是我到目前为止所做的,但它目前不起作用:
local myTable = { 'a', 'b', 'c', 'd' }
print( myTable[ math.random( 0, #myTable - 1 ) ] )
Run Code Online (Sandbox Code Playgroud)
如何修复上述代码以使其按预期工作?(或者我可以使用哪种其他方法?)
我试过在一行上单词"quit",但这似乎只是将命令行指针从">"更改为">>".在交互式Lua中结束会话的最佳方法是什么?
如何编写rc.lua文件以启用键盘快捷键以将窗口从一个屏幕上的一个标签移动到另一个屏幕上的标签?我知道modkey + shift + [标签号]快捷方式,但是它只将窗口移动到同一屏幕上的不同标签.
例如:我想将一个窗口从屏幕1上的第一个标签移动到屏幕2上的第三个标签(或至少移动到屏幕2上的活动标签).
我试图找到一种方法来对一批代码使用多行注释,但是它一直把它中的一些语法误认为是]]并且我想它要结束那里,我不这样做!
--[[
for k,v in pairs(t) do
local d = fullToShort[k]
local col = xColours[v[1]] -- It stops here!
cecho(string.format(("<%s>%s ", col, d))
end
--]]
Run Code Online (Sandbox Code Playgroud)
我以为我在某个地方读过可以使用不同的组合来避免这些错误,比如 - [= [或诸如此类的......有人可以帮忙吗?
我在应用程序商店找到了这个应用程序:iLuaBox ,我想知道在没有越狱的情况下是否还有其他类似的东西,而不是Python或Ruby?
Lua对我来说可能类似于我所做的基本编程,但我想我会问)
在Lua中,似乎有两种方法可以将元素附加到数组:
table.insert(t, i)
Run Code Online (Sandbox Code Playgroud)
和
t[#t+1] = i
Run Code Online (Sandbox Code Playgroud)
我应该使用哪个,为什么?
尽管Lua没有区分浮点数和整数,但有些情况下你想要使用整数.如果你不能做一个类似C的演员或没有类似Python的东西,将数字转换为整数的最佳方法是什么int?
例如,在计算数组的索引时
idx =位置/宽度
你怎么能确保idx有效的数组索引?我提出了一个使用的解决方案string.find,但也许有一种使用算法的方法显然会更快.我的解决方案
function toint(n)
local s = tostring(n)
local i, j = s:find('%.')
if i then
return tonumber(s:sub(1, i-1))
else
return n
end
end
Run Code Online (Sandbox Code Playgroud)