Difference between revisions of "For"

From MiniScript Wiki
Jump to navigation Jump to search
(Added new when to use for loops and how to create them. Added the nested for loop example. Added outputs in text.)
Line 13: Line 13:
 
For loops are created with the <c>for</c> keyword followed by ''element'' <c>in</c> ''sequence''.
 
For loops are created with the <c>for</c> keyword followed by ''element'' <c>in</c> ''sequence''.
 
For loops are closed off with an <c>end for</c> keyword statement.
 
For loops are closed off with an <c>end for</c> keyword statement.
All code that is to be repeated must be indented in between the <c>for</c> and <c> end for</c> statements.
+
As a matter of style, all code to be repeated is usually indented in between the <c>for</c> and <c> end for</c> statements.
  
 
== Iterate over a range of numbers ==
 
== Iterate over a range of numbers ==

Revision as of 12:55, 18 May 2022

for is a keyword used to loop over a sequence (i.e. a list, map, or string).

When to use for loops

A for loop is used when you want to repeat a block of code a fixed number of times. For loops in Miniscript utilize the for each construct. Instead of initializing a counter in the for loop statement the for each construct iterates a variable over a sequence, this mitigates the risk of creating an off by one error.

How to create for loops

For loops are created with the for keyword followed by element in sequence. For loops are closed off with an end for keyword statement. As a matter of style, all code to be repeated is usually indented in between the for and end for statements.

Iterate over a range of numbers

Example

for i in range(1,3)
    print i
end for

outputs:

1

2

3


Iterate over a list

Example

words = ["hello", "MiniScript", "wiki"]
for word in words
    print word
end for

outputs:

hello

MiniScript

wiki


Nested For Loops

For loops can be nest inside one another the inner most loop will loop through all its iterations for every iteration the its outer loop has.

Example

for i in range(1,2)
	for j in range(3,4)
		print val(i) + " + " + val(j) + " = " + val(i+j)
	end for
end for

outputs:

1 + 3 = 4

1 + 4 = 5

2 + 3 = 5

2 + 4 = 6