使用pair/ipair来简化一个lua函数

格诺顿

我有以下有效的代码:

function group1color()
    for _, roomid in ipairs(group1rooms) do
        if roomid == '1+' then
            Controls.room1background.Color = '#dba643'
        end
        if roomid == '2+' then
            Controls.room2background.Color = '#dba643'
        end
        if roomid == '3+' then
            Controls.room3background.Color = '#dba643'
        end
    end
end

但是,我需要再复制 roomid if 语句 5 次,然后为八个不同的房间组复制该函数 8 次。我想弄清楚是否有办法使用pairs或ipairs来简化这个?我主要是在寻找有关如何简化函数中的迭代的建议。

叶戈尔斯克里普图诺夫

您可以通过以下方式访问全局变量_G["varname"]

function groupcolor()
   for N = 1, 8 do
      local groupNrooms = _G["group"..N.."rooms"]
      for _, roomid in ipairs(groupNrooms) do
         local M = roomid:match"^(%d+)%+$"
         if M then
            Controls["room"..M.."background"].Color = '#dba643'
         end
      end
   end
end

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

请提出一个Java框架来简化CRUD

简化在CasperJS中映射多个子元素以仅使用一个函数

如何使用 LOOP 来简化这个 R 脚本代码。这是一个用于分析年度数据的代码

通过尝试将 2 个功能合并为一个来简化 - 重叠问题

如何在函数内定义变量并使用它来调用另一个函数

将两个函数简化为一个函数。烧瓶

为什么在Lua中使用一个额外的参数调用此函数?

创建一个使用列表的递归函数,并使用它来创建列表

如何仅使用一个函数showCnt()来显示结构数组的成员?如何传递参数?

gdb使用什么机制来知道在哪里“完成”一个函数调用?

Typescript - 使用抽象类来简单地共享一个函数

我使用函数“ putchar()”来打印测试结果,但是却出现了一个问号

Python,使用线程和调度来持续运行一个函数

如何在没有并行负担的情况下使用Java reduce来简单地将对象简化为一个对象?

通过使用“ NOT IN”子句检查多个表来查询一个表中的删除记录。可以更简化此查询吗?

Lua注册的C函数调用另一个

问:在lua中创建一个钩子函数

将一个函数放在lua的另一个函数中是否会提高lua的性能?

我需要从一个内部连接一个数组 php 来简化一个数组

一个 IF 语句来确定要启动哪个函数

编写一个宏来检查函数返回码

Python - 设计一个滑块来控制函数的输入

调用一个函数对象来加载你的js

试图创建一个循环来应用这个函数

简化一个 if - if 阶梯 - python

Javascript ,简化一个方法

如何创建一个新函数来简化 Racket 中的代码?

如何创建一个C ++宏来定义使用调用另一个函数的参数列表的函数?

可以在类的构造函数内部使用“ new”来调用Java中的另一个构造函数吗?