| summaryrefslogtreecommitdiff |
diff options
Diffstat (limited to 'content/fate_v1/instructions/loops/_index.md')
| -rw-r--r-- | content/fate_v1/instructions/loops/_index.md | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/content/fate_v1/instructions/loops/_index.md b/content/fate_v1/instructions/loops/_index.md new file mode 100644 index 0000000..03c0f3b --- /dev/null +++ b/content/fate_v1/instructions/loops/_index.md @@ -0,0 +1,34 @@ +--- +title: Loops +--- +Allow the repetition of a group of instructions according to a computation. +Every loop body defines its hierarchy level, from the local variables' point of +view. + +### WHILE +{{< fatecode >}}(while [BOOL] [I0 = INSTRUCTION] ... [IM = INSTRUCTION]){{< /fatecode >}} + +Executes `[I0]` ... `[IM]` if, and as long as, `[BOOL]` yields true. + +### DO WHILE +{{< fatecode >}}(do_while [BOOL] [I0 = INSTRUCTION] ... [IM = INSTRUCTION]){{< /fatecode >}} + +Executes `[I0]` ... `[IM]`, and does so again as long as, `[BOOL]` yields +true. + +### FOR +{{< fatecode >}}(for <pre = INSTRUCTION> [BOOL] <post = INSTRUCTION> [I0 = INSTRUCTION] ... [IM = INSTRUCTION]){{< /fatecode >}} + +Executes `<pre>`, then, if and as long as `[BOOL]` yields true, executes +`[I0]` ... `[IM]` followed by `<post>`. + +### FOR EACH +{{< fatecode >}}(foreach [COLLECTION] {String} [I0 = INSTRUCTION] ... [IM = INSTRUCTION]){{< /fatecode >}} + +Executes `[I0]` ... `[IM]` for each member of `[COLLECTION]`, in order. The current +member is stored in a new local variable named `{String}`. + +### BREAK +{{< fatecode >}}(break){{< /fatecode >}} + +Exits the current loop. |


