标签: lua

Lua字符串为int

如何在Lua中将字符串转换为整数?谢谢.

我有一个像这样的字符串:

a = "10"
Run Code Online (Sandbox Code Playgroud)

我希望将它转换为10,数字.

lua

170
推荐指数
8
解决办法
21万
查看次数

之间的区别.并且:在Lua

我对函数调用via .和via 之间的区别感到困惑:

> x = {foo = function(a,b) return a end, bar = function(a,b) return b end, }
> return x.foo(3,4)
3
> return x.bar(3,4)
4
> return x:foo(3,4)
table: 0x10a120
> return x:bar(3,4)
3
Run Code Online (Sandbox Code Playgroud)

什么是:做什么?

lua function

160
推荐指数
3
解决办法
3万
查看次数

在Lua中拆分字符串?

我需要对字符串进行简单的拆分,但似乎没有这个功能,我测试的手动方式似乎不起作用.我该怎么办?

string lua

150
推荐指数
13
解决办法
22万
查看次数

按顺时针顺序排序点?

给定一个x,y点数组,如何按顺时针顺序(围绕它们的整体平均中心点)对该数组的点进行排序?我的目标是将点传递给线创建函数,以最终看起来相当"坚实"的东西,尽可能凸起,没有相交的线.

为了它的价值,我正在使用Lua,但任何伪代码都会受到赞赏.非常感谢您的帮助!

更新:作为参考,这是基于Ciamej优秀答案的Lua代码(忽略我的"app"前缀):

function appSortPointsClockwise(points)
    local centerPoint = appGetCenterPointOfPoints(points)
    app.pointsCenterPoint = centerPoint
    table.sort(points, appGetIsLess)
    return points
end

function appGetIsLess(a, b)
    local center = app.pointsCenterPoint

    if a.x >= 0 and b.x < 0 then return true
    elseif a.x == 0 and b.x == 0 then return a.y > b.y
    end

    local det = (a.x - center.x) * (b.y - center.y) - (b.x - center.x) * (a.y - center.y)
    if det < 0 then return true
    elseif det > 0 then …
Run Code Online (Sandbox Code Playgroud)

algorithm math lua geometry computational-geometry

148
推荐指数
3
解决办法
7万
查看次数

为什么Lua没有"继续"声明?

在过去的几个月里,我一直在与Lua打交道,我非常喜欢大部分的功能,但我仍然缺少其中的一些东西:

  • 为什么没有continue
  • 它有什么变通方法?

lua loops language-design

135
推荐指数
9
解决办法
10万
查看次数

JavaScript和Lua之间的细微差别

我只是喜欢JavaScript.这是如此优雅(想象一下在背景中叹息的爱情狂热的声音).

所以,最近我通过löve2d框架玩了Lua (很好!) - 我认为Lua也很棒.他们看待它,这两种语言非常相似.

有明显的差异,比如

  • 句法
  • 问题域
  • 图书馆
  • 类型(一点)

但哪些是更微妙的?JavaScript编码器是否会认为在Lua中工作的东西略有不同?是否有任何陷阱对于有经验的编程人员尝试另一种语言而言可能并不明显?

例如:在Lua中,数组和散列不是分开的(只有表格) - 在JavaScript中,它们是数字数组和散列对象.嗯,这是一个比较明显的差异.

但是在变量范围,不变性或类似的东西方面是否存在差异?

javascript lua

120
推荐指数
4
解决办法
4万
查看次数

如何获取Lua表中的条目数?

听起来像是"让我谷歌给你"的问题,但不知怎的,我找不到答案.Lua #运算符仅使用整数键计数条目,因此table.getn:

tbl = {}
tbl["test"] = 47
tbl[1] = 48
print(#tbl, table.getn(tbl))   -- prints "1     1"

count = 0
for _ in pairs(tbl) do count = count + 1 end
print(count)            -- prints "2"
Run Code Online (Sandbox Code Playgroud)

如何在不计算所有条目的情况下获取所有条目的数量?

lua

120
推荐指数
5
解决办法
19万
查看次数

为什么Lua数组(表)从1开始而不是0?

我不明白Lua这一部分的决定背后的理由.为什么索引从1开始?我读过(和其他人一样)这篇伟大的论文.在我看来,语言的一个奇怪的角落是非常愉快的学习和编程.不要误会我的意思,Lua很棒,但必须在某处做出解释.我发现的大部分内容(在网上)只是说索引从1开始.完全停止.

阅读其设计师对该主题的看法将是非常有趣的.

请注意,我在Lua中"非常"初学者,我希望我不会错过关于表格的明显内容.

arrays lua lua-table

120
推荐指数
6
解决办法
5万
查看次数

确定Lua表是否为空(包含没有条目)的最有效方法?

确定表是否为空(即,当前既不包含数组样式值也不包含dict样式值)的最有效方法是什么?

目前,我正在使用next():

if not next(myTable) then
    -- Table is empty
end
Run Code Online (Sandbox Code Playgroud)

有更有效的方法吗?

注意:#运算符在这里不够用,因为它只对表中的数组样式值进行操作 - 因此#{test=2}无法区分,#{}因为它们都返回0.还要注意检查表变量是否nil足够,因为我不是在寻找nil值,而是具有0个条目的表(即{}).

lua lua-table

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

如何将表转储到控制台?

我在显示包含嵌套表(n-deep)的表的内容时遇到问题.我想通过print声明或快速而肮脏的东西将它转储到std out或控制台,但我无法弄清楚如何.我正在寻找打印NSDictionary使用gdb 时得到的粗略等效物.

lua

92
推荐指数
6
解决办法
13万
查看次数