Documentation for routine so
assembled from the following pages:
Language documentation: Operators §
From Operators
(Operators) prefix so §
multi sub prefix:<so>(Mu --> Bool)
Evaluates its argument in Boolean context (and thus collapses Junctions), and returns the result.
Class: Mu §
From Mu
(Mu) method so §
method so()
Evaluates the item in Boolean context (and thus, for instance, collapses Junctions), and returns the result. It is the opposite of not
, and equivalent to the ?
operator.
One can use this method similarly to the English sentence: "If that is so, then do this thing". For instance,
my = <-a -e -b -v>;my = any() eq '-v' | '-V';if .so # OUTPUT: «Verbose option detected in arguments»
The $verbose-selected
variable in this case contains a Junction
, whose value is any(any(False, False), any(False, False), any(False, False), any(True, False))
. That is actually a truish value; thus, negating it will yield False
. The negation of that result will be True
. so
is performing all those operations under the hood.
Enum: Bool §
From Bool
(Bool) prefix so §
multi sub prefix:<so>(Mu --> Bool)
Coerces its argument to Bool
, has looser precedence than prefix:<?>
.