37 lines
705 B
Plaintext
37 lines
705 B
Plaintext
class if2(cond1, cond2) {
|
|
method then(block) { # both true
|
|
if (cond1 && cond2) {
|
|
block.run;
|
|
}
|
|
return self;
|
|
}
|
|
method else1(block) { # first true
|
|
if (cond1 && !cond2) {
|
|
block.run;
|
|
}
|
|
return self;
|
|
}
|
|
method else2(block) { # second true
|
|
if (cond2 && !cond1) {
|
|
block.run;
|
|
}
|
|
return self;
|
|
}
|
|
method else(block) { # none true
|
|
if (!cond1 && !cond2) {
|
|
block.run;
|
|
}
|
|
return self;
|
|
}
|
|
}
|
|
|
|
if2(false, true).then {
|
|
say "if2";
|
|
}.else1 {
|
|
say "else1";
|
|
}.else2 {
|
|
say "else2"; # <- this gets printed
|
|
}.else {
|
|
say "else"
|
|
}
|