Update 'Control Flow'
parent
9d64be2803
commit
408bbdae81
39
Control-Flow.md
Normal file
39
Control-Flow.md
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
ARF has a collection of basic control flow [phrases](Phrases) which are `break`, `next`,
|
||||||
|
and `return`. Break breaks out of a loop or switch case, next is basically just
|
||||||
|
a continue statement but using less letters, and a return phrase returns from
|
||||||
|
the current function. Return phrases are entirely optional and do not take any
|
||||||
|
arguments.
|
||||||
|
|
||||||
|
ARF also has some control flow phrases that expect an indented block of phrases
|
||||||
|
under them:
|
||||||
|
|
||||||
|
```
|
||||||
|
if condition
|
||||||
|
something
|
||||||
|
|
||||||
|
if condition
|
||||||
|
something
|
||||||
|
else
|
||||||
|
otherThing
|
||||||
|
|
||||||
|
while condition
|
||||||
|
something
|
||||||
|
|
||||||
|
switch value
|
||||||
|
: 324
|
||||||
|
something
|
||||||
|
: 93284
|
||||||
|
otherThing
|
||||||
|
:
|
||||||
|
defaultThing
|
||||||
|
|
||||||
|
for index:Size element:Int someArray
|
||||||
|
something
|
||||||
|
```
|
||||||
|
|
||||||
|
These do what you'd expect them to, but for loops in ARF need some further
|
||||||
|
explanation. Many modern languages allow you to iterate over data, and ARF is no
|
||||||
|
exception. The first [argument](Arguments) of a for loop must be an index of type `Size`, the
|
||||||
|
second argument must be typed as an element of the third argument, which must
|
||||||
|
be an array or inherit from an array. In the future there might be some
|
||||||
|
iterateable [interface](Interface-Definitions) that an object could fulfil.
|
Reference in New Issue
Block a user