Added "for, in" syntax
m (ui-article) |
(Added "for, in" syntax) |
||
| Line 3: | Line 3: | ||
A "for" loop. | A "for" loop. | ||
'''for <variable> = <lowvalue>, <highvalue> do <statements>; end''' | '''for <variable> = <lowvalue>, <highvalue>,<step> do <statements>; end''' | ||
Executes 'statements' for each value of 'variable' from 'lowvalue' to 'highvalue', inclusive. Other syntax options yet unknown. | Executes 'statements' for each value of 'variable' from 'lowvalue' to 'highvalue', at a step value of 'step' inclusive. Other syntax options yet unknown. | ||
'''for <variable>,<integer> in <array> do <statements>;end''' | |||
Executes 'statements' for each 'variable' with index 'integer' in 'array'. | |||
---- | ---- | ||
Examples: | |||
/script for i=1,10 do DEFAULT_CHAT_FRAME:AddMessage(format("%d",i));end | /script for i=1,10 do DEFAULT_CHAT_FRAME:AddMessage(format("%d",i));end | ||
| Line 16: | Line 19: | ||
DEFAULT_CHAT_FRAME:AddMessage(format("%s %d/%d,name,barValue*21000,21000)); | DEFAULT_CHAT_FRAME:AddMessage(format("%s %d/%d,name,barValue*21000,21000)); | ||
end | 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 var,i in myTable do | |||
DEFAULT_CHAT_FRAME:AddMessage("The value of index "..i.." is "..var); | |||
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 | |||
[[User:Tigerheart|Tigerheart]] 03:34, 3 Nov 2005 (EST) - Added info on <step> | |||
[[User:Tigerheart|Tigerheart]] 15:10, 7 Feb 2006 (EST) - Added "for, in" syntax | |||