The while
construct is a great way to loop indefinitely. You may
eventually want to break out of the loop. For that, you are going to need to
invalidate the while condition. One way of going about this is creating a
mutable ref, changing it from true to false when a certain condition is met.
let break = ref(true);
while (break^) {
switch (Unix.readdir(currentDir)) {
| exception End_of_file => break := false
| item => print_endline(item);
}
};
Here we have a mutable ref called break
which starts as true
. This is
our while condition. Its actual value can be referenced by appending the
^
character -- hence break^
. Once a certain condition is met inside our
while
block, we can set break
to false
using the :=
operator.
The above code snippet can be seen in full details here.