break
- Command Referenceterminate execution of a block within your processes scope
break
will terminate execution of a block (eg function
, private
, foreach
, if
, etc).
break
requires a parameter and that parameter is the name of the caller block you wish to break out of. If it is a function
or private
, then it will be the name of that function or private. If it is an if
or foreach
loop, then it will be if
or foreach
(respectively).
break block-name
Exiting an iteration block:
function foo {
%[1..10] -> foreach i {
out $i
if { $i == 5 } then {
out "exit running function"
break foo
out "ended"
}
}
}
Running the above code would output:
» foo
1
2
3
4
5
exit running function
Exiting a function:
break
can be considered to exhibit the behavior of return (from other languages) too
function example {
if { $USER == "root" } then {
err "Don't run this as root"
break example
}
# ... do something ...
}
break
cannot escape the bounds of its scope (typically the function it is running inside). For example, in the following code we are calling break bar
(which is a different function) inside of the function foo
:
function foo {
%[1..10] -> foreach i {
out $i
if { $i == 5 } then {
out "exit running function"
break bar
out "ended"
}
}
}
function bar {
foo
}
Regardless of whether we run foo
or bar
, both of those functions will raise the following error:
Error in `break` (7,17): no block found named `bar` within the scope of `foo`
continue
: terminate process of a block within a caller functionexit
: Exit murexforeach
: Iterate through an arrayformap
: Iterate through a map or other collection of datafunction
: Define a function blockif
: Conditional statement to execute different blocks of code depending on the result of the conditionout
: Print a string to the STDOUT with a trailing new line characterprivate
: Define a private function blockThis site's content is rebuilt automatically from murex's source code after each merge to the master
branch. Downloadable murex binaries are also built with the website.
Last built on Fri May 19 22:45:48 UTC 2023 against commit 54b5f6754b5f67b250bbf7353e83c42ed187802584c3ae3.
Current version is 4.1.6140 which has been verified against 14045 tests cases.