WoW API: RunScript

Revision as of 07:46, 17 July 2006 by WoWWiki>Mikk

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.