WoW:API RunScript: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
No edit summary
m (Robot: converting/fixing HTML)
Line 10: Line 10:
:;script : String - The code which is to be executed.
:;script : String - The code which is to be executed.
=== Returns ===
=== Returns ===
:<i>nil</i>
:''nil''


== Example ==
== Example ==

Revision as of 09:35, 20 January 2007

WoW API < RunScript

Execute a string as LUA code.

RunScript("script")

Parameters

Arguments

("script")
script
String - The code which is to be executed.

Returns

nil

Example

To define a function dynamically you could do:
local retExpr = '"Hello " .. UnitName("target")';
RunScript("function My_GetGreeting() return " .. retExpr .. ";end");

Result

The My_GetGreeting() function will be defined to return Hello followed by the name of your target.

Details

This function is NOT recommended for general use within addons for a number of reasons:
1. It'll do whatever you tell it, that includes calling functions, setting variables, whatever.
2. It does things globally, so to get data out of it you have to pollute at least one global variable. This isn't a big deal but it's mildly annoying.
3. Errors in the script string produce the error popup (at least, they produce the UI_ERROR_MESSAGE event).
On the other hand, it's invaluable if you need to run arbitrary code, or do self-generating code.

See Also

  • The standard Lua function API loadstring, which can overcome all of the problems of RunScript described above.