Lua 如何从WoW插件中的框架调用匿名函数?

Lua 如何从WoW插件中的框架调用匿名函数?,lua,world-of-warcraft,Lua,World Of Warcraft,我使用的代码生成器发出许多匿名函数。我想我会试着从一个框架中调用一个,但它似乎不起作用;我得到: Date: 2020-09-18 18:42:27 ID: 1 Error occured in: Global Count: 1 Message: [string "HelloWorldFrame:OnLoad"] line 1: attempt to call global 'HelloWorld' (a nil value) Debug: [C]: HelloW

我使用的代码生成器发出许多匿名函数。我想我会试着从一个框架中调用一个,但它似乎不起作用;我得到:

Date: 2020-09-18 18:42:27
ID: 1
Error occured in: Global
Count: 1
Message: [string "HelloWorldFrame:OnLoad"] line 1:
   attempt to call global 'HelloWorld' (a nil value)
Debug:
   [C]: HelloWorld()
   [string "*:OnLoad"]:1:
      [string "*:OnLoad"]:1
如果我更改以下内容:

local HelloWorld=function()
打印(“你好,世界!”);
结束
致:

函数HelloWorld() 打印(“你好,世界!”); 结束 它会起作用的

以下是我的XML:


HelloWorld();

这可能吗?

简单的回答是,如果使用XML,则需要使用globals。像这样的

卢阿

MyUniqueAddon={}
函数MyUniqueAddon:HelloWorld()
打印(“你好,世界!”);
结束
XML


MyUniqueAddon:HelloWorld();
你也可以用Lua做任何事情

本地功能OneEvent(自身、事件)
打印(“你好,世界!”);
结束
局部f=创建帧(“帧”)
f:RegisterEvent(“玩家进入世界”)
f:SetScript(“OnEvent”,OnEvent)
或者在这种情况下,如果您只是想打印一些内容作为练习,则根本不使用框架

print(“你好,世界!”);

Nice,也感谢您指出了all Lua选项。对于我的用例,这绝对是首选。