Conditional structures: Difference between revisions

(fix z80 sections to not clutter table of content)
Line 5,252:
* [http://www.php.net/manual/en/language.control-structures.php php.net:Control Structures]
* [http://www.php.net/manual/en/control-structures.switch.php php.net:Control Structures: Switch]
 
=={{header|Picat}}==
Picat is a multi-paradigm language (based on Prolog) and has some different conditional structures:
* "direct" testing: The program will not continue if not satisfied.
* <code>if/then/elseif/else/end</code>: Traditional if/then/else construct.
* <code>(condition -> then-part ; else-part)</code>: From Prolog.
* <code>Ret = cond(condition,then-part,else-part)</code>: Function which returns the appropriate value.
* As a predicate: From Prolog.
* As condition in a function's head.
 
Here are examples of each of these constructs.
 
<lang Picat>go =>
N = 10,
 
% "direct" test that will fail if not satisfied
N < 14,
 
% if/then/elseif/else
if N < 14 then
println("less than 14")
elseif N == 14 then
println("is 14")
else
println("not less than 14")
end,
 
% From Prolog: (condition -> then ; else)
( N < 14 ->
println("less than 14")
;
println("not less than 14")
),
 
% Ret = cond(condition, then, else)
println(cond(N < 14, "less than 14", "not less than 14")),
 
% as a predicate
test_pred(N),
 
% as condition in a function's head
println(test_func(N)),
 
println(ok), % all tests are ok
nl.
 
% as a predicate
test_pred(N) ?=>
N < 14,
println("less than 14").
test_pred(N) =>
N >= 14,
println("not less than 14").
% condition in function head
test_func(N) = "less than 14", N < 14 => true.
test_func(_N) = "not less than 14" => true. </lang>
 
{{out}}
<pre>less than 14
less than 14
less than 14
less than 14
less than 14
ok</pre>
 
=={{header|PicoLisp}}==
495

edits