WoW:API for: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
m (Remove singatures made using ~ in main namespace) |
||
| Line 39: | Line 39: | ||
The value of index 2 is b | The value of index 2 is b | ||
The value of index 3 is c | The value of index 3 is c | ||
The value of index 4 is d | The value of index 4 is d - Added info on [step] - Added "for, in" syntax - One missing qutes, fixed "for v,k in t" to correct "for k,v in t" | ||
{{LUA}} | {{LUA}} | ||
Revision as of 06:35, 10 February 2007
Native Lua statement:
for [variable] = [lowvalue], [highvalue],[step] do [statements] end
Executes 'statements' for each value of 'variable' from 'lowvalue' to 'highvalue', at a step value of 'step' inclusive. Other syntax options yet unknown.
for [key],[value] in pairs([table]) do [statements] end
Executes 'statements' for each element of the 'table'. 'key' contains element key (index), 'value' contains element value.
Examples:
/script for i=1,10 do DEFAULT_CHAT_FRAME:AddMessage(format("%d",i));end
More interesting example: (remember, all one line)
/script for i=1,5 do
name,description,standingID,barValue,atWarWith,canToggleAtWar,isHeader,isCollapsed=GetFactionInfo(i);
DEFAULT_CHAT_FRAME:AddMessage(format("%s %d/%d",name,barValue*21000,21000));
end
A few examples using the newly found <step> value:
/script for i=10,1,-1 do DEFAULT_CHAT_FRAME:AddMessage(format("%d",i));end
Will count from 10 to 1.
/script for i=10,0,-2 do DEFAULT_CHAT_FRAME:AddMessage(format("%d",i));end
Will count from 10 to 0 skipping every other number.
/script for i=2,10,2 do DEFAULT_CHAT_FRAME:AddMessage(format("%d",i));end
Will count even numbers from 2 to 10.
Examples for the 'in' version of the syntax:
/script myTable = {"a","b","c","d"};
for k,v in pairs(myTable) do
DEFAULT_CHAT_FRAME:AddMessage("The value of index "..k.." is "..v);
end;
Output:
The value of index 1 is a The value of index 2 is b The value of index 3 is c The value of index 4 is d - Added info on [step] - Added "for, in" syntax - One missing qutes, fixed "for v,k in t" to correct "for k,v in t"