小编Dou*_*rie的帖子

Lua - 尝试调用global(零值)

执行此代码时,我收到错误"尝试调用全局'forId'(零值)"

function execute(args)
    local itemid = 526
    local bone = forId(itemid) -- this is where the error occurs
end

function forId(bid) 
    local xp = 0.0
    if bid == 526 or bid == 528 or bid == 2530 or bid == 2859 then
        xp = 4.5
    elseif bid == 3179 or bid == 3180 or bid == 3183 or bid == 3185 then
        xp = 5.0
    elseif bid == 530 then
        xp = 53
    elseif bid == 532 or bid == …
Run Code Online (Sandbox Code Playgroud)

lua

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

Lua-迭代嵌套表

我已经学习Lua几个星期了,这是我一次又一次的关键点.我试图阅读有关此主题的帖子和书籍.

我使用Lua查询软件监控系统(Nimsoft),我的数据在表格中返回给我.

我不会发布整个输出,但这里是一个我认为将描述结构的片段:

表referance是"h_resp"

root:
      domain:nevil-nmsdom
      robotlist:
        1:
          ssl_mode:0
          os_user2:
          origin:nevil-nmshub
          os_major:UNIX
          ip:192.168.1.58
          os_minor:Linux
          addr:/nevil-nmsdom/nevil-nmshub/nevil-multibot_03
          status:0
          license:1
          last_inst_change:1340754931
          created:1341306789
          offline:0
          last_change:1341306869
          lastupdate:1344522976
          autoremove:0
          os_user1:
          flags:1
          os_description:Linux 2.6.32-5-amd64 #1 SMP Mon Jan 16 16:22:28 UTC 2012 x86_64
          name:nevil-multibot_03
          metric_id:M64FB142FE77606C2E924DD91FFCC3BB4
          device_id:DDFF83AB8CD8BC99B88221524F9320D22
          heartbeat:900
          port:48100
          version:5.52 Dec 29 2011
        2: etc...etc....
Run Code Online (Sandbox Code Playgroud)

我使用我在这个论坛上找到的tdump函数来实现这一目标.

for k,v in pairs(h_resp) do
print(k.."    ",v)
end
Run Code Online (Sandbox Code Playgroud)

给我顶级水平,我理解这一点.

domain    nevil-nmsdom
robotlist    table:0x22136a0
Run Code Online (Sandbox Code Playgroud)

然后我试着得到"机器人名单"

for k,v in pairs(h_resp.robotlist) do
print(k.."    ",v)
end
Run Code Online (Sandbox Code Playgroud)

正如您在下面看到的那样,索引是整数,并且是另一个表.

  1    table:0x237e530
  0    table:0x22112a0
  3    table:0x2211460
  2    table:0x2392ee0
  5 …
Run Code Online (Sandbox Code Playgroud)

lua

2
推荐指数
1
解决办法
5041
查看次数

Lua - if语句中的语法错误

刚尝试执行一个小的Lua脚本,但不幸的是我做错了.我没有更多的想法可能是错误.

function checkPrime( n )
    for i = 2, n-1, 1 do
        if n % i == 0 then
            return false
        end
    end
    return true
end
Run Code Online (Sandbox Code Playgroud)

口译员说:

lua: /home/sebastian/luatest/test.lua:3: `then' expected near `%'
Run Code Online (Sandbox Code Playgroud)

我认为这不是一件大事,也许很清楚是什么问题.但不知怎的,我现在看不到它.

syntax lua

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

Lua中的“or if”逻辑运算

我现在的情况是

if A and B and C then
X
end
Run Code Online (Sandbox Code Playgroud)

如果我理解正确的话,这意味着只有满足所有三个条件(A、B 和 C),它才会执行 X。

这本身就很好,但是,我需要/希望它同时也检查一些类似于“or if”语句的东西。

如果 A 和 B 和 C [或如果] A 和 D [或如果] A 和 E 则 X 结束

意思是我希望它在满足 A、B 和 C 时,或者满足 A 和 D,或者满足 A 和 E 时执行 X。我该如何去做呢?

lua if-statement

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

如何在Lua中自动创建变量?

在我开始之前,我会说我是Lua的初学者,所以可能不知道所有正确的术语,但我会尽力解释我所追求的.

我有一个data包含其他表的table().当data首次创建,它可以具有任何数量的在其内部表(I期望这是1和50之间).

我想将每个表分配给它自己的变量.

如果我知道有多少表,那么这很容易使用table1 = data[1]; table2 = data[2],依此类推.

我已经完成了计数,data以便我知道条目的数量,所以我想要做的是自动创建变量,给它们一个名称并为其分配相应的表.

所以我们说data包含10个表.那么我想变量,创建名为table1,table2,table3等等.table1应该是data[1],table2应该是data[2]等等.

我确定我应该创建一个循环,每次都有一个count=count+1创建附加到变量的数字.

我遇到的问题是我不知道如何创建一个名为'table'+count(table1)的变量.

我如何一起加入2?

variables lua automation loops

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

计算行数Lua

我正在做一个涉及文件读取的项目,我需要知道文件中的确切行数.有谁知道如何计算文件中的行数而不必读取整个文件?我的意思是Lua中有内置函数吗?提前致谢.

lua count

-2
推荐指数
1
解决办法
3269
查看次数

标签 统计

lua ×6

automation ×1

count ×1

if-statement ×1

loops ×1

syntax ×1

variables ×1