WoW:API for: Difference between revisions

1,038 bytes added ,  7 February 2006
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'.
----
----
Example:
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
Anonymous user