【问题标题】:Passing Partial Function Name and Concatenating to Call Original Function传递部分函数名并连接调用原始函数
【发布时间】:2016-06-22 22:03:33
【问题描述】:

好的,伙计们,我第一次在这里发帖(经过多年的阅读)。我对 LUA 还是很陌生,我同意它非常有用且简单,但是由于某种原因我仍然很难。

请注意,我基本上是在重新发明轮子,但我想让测试人员尽可能轻松地为我使用的模拟引擎创建调试器。我可以很容易地让他们按照现有的方式去做,但在这一点上,这是个人的。我需要了解我的逻辑有什么问题。

在引擎中创建调试器的现有方法类似于:

print_message_to_user(string.format("Engine RPM: %d", sensor_data:getEngineRPM()))

但是我正在尝试创建一个函数 debugger(),它可以缩短和简化流程:

function debugger(helptext, sensor)
    print_message_to_user(string.format("%s: %d", helptext, sensor_data:..sensor..()))
end

然后被称为:

debugger("Engine RPM", getEngineLeftRPM)

...当然行不通。我确信这与我尝试将提供的句柄与符号系统连接以希望调用实际函数的方式有关。

【问题讨论】:

    标签: lua


    【解决方案1】:
    function debugger(helptext, sensor)
        print_message_to_user(
           string.format("%s: %d", helptext, sensor_data[sensor](sensor_data))
        )
    end
    
    debugger("Engine RPM", "getEngineLeftRPM")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-12
      • 1970-01-01
      • 2016-02-12
      • 1970-01-01
      • 2020-12-15
      • 2014-10-02
      • 2015-07-06
      • 2018-01-31
      相关资源
      最近更新 更多