In Promise§
See primary documentation in context for method Bool.
multimethodBool(Promise:D:)
Returns True
for a kept or broken promise, and False
for one in state Planned
.
In Proc§
See primary documentation in context for method Bool.
multimethodBool(Proc:D:)
Awaits for the process to finish and returns True
if both exit code and signal of the process were 0, indicating a successful process termination. Returns False
otherwise.
In Regex§
See primary documentation in context for method Bool.
multimethodBool(Regex:D: --> Bool:D)
Matches against the caller's $_ variable, and returns True
for a match or False
for no match.
In Failure§
See primary documentation in context for method Bool.
multimethodBool(Failure:D: --> Bool:D)
Returns False
, and marks the failure as handled.
subf() { fail }; my$v=f; say$v.handled; # OUTPUT: «False» say$v.Bool; # OUTPUT: «False» say$v.handled; # OUTPUT: «True»
In Map§
See primary documentation in context for method Bool.
methodBool(Map:D: --> Bool:D)
Returns True
if the invocant contains at least one key/value pair.
my$m=Map.new('a'=> 2,'b'=> 17); say$m.Bool; # OUTPUT: «True»
In Capture§
See primary documentation in context for method Bool.
methodBool(Capture:D: --> Bool:D)
Returns True
if the Capture
contains at least one named or one positional argument.
say \(1,2,3, apples => 2).Bool; # OUTPUT: «True» say \().Bool; # OUTPUT: «False»
In role Numeric§
See primary documentation in context for method Bool.
multimethodBool(Numeric:D:)
Returns False
if the number is equivalent to zero, and True
otherwise.
In Mu§
See primary documentation in context for routine Bool.
multiBool(Mu--> Bool:D) multimethodBool( --> Bool:D)
Returns False
on the type object, and True
otherwise.
Many built-in types override this to be False
for empty collections, the empty string or numerical zeros
sayMu.Bool; # OUTPUT: «False» sayMu.new.Bool; # OUTPUT: «True» say [1, 2, 3].Bool; # OUTPUT: «True» say [].Bool; # OUTPUT: «False» say%( hash=>'full' ).Bool; # OUTPUT: «True» say {}.Bool; # OUTPUT: «False» say"".Bool; # OUTPUT: «False» say 0.Bool; # OUTPUT: «False» say 1.Bool; # OUTPUT: «True» say"0".Bool; # OUTPUT: «True»
In List§
See primary documentation in context for method Bool.
methodBool(List:D: --> Bool:D)
Returns True
if the list has at least one element, and False
for the empty list.
say ().Bool; # OUTPUT: «False» say (1).Bool; # OUTPUT: «True»
In Match§
See primary documentation in context for method Bool.
methodBool(Capture:D: --> Bool:D)
Returns True
on successful and False
on unsuccessful matches. Please note that any zero-width match can also be successful.
say'abc'~~/^/; # OUTPUT: «「」» say $/.from,'', $/.to,'',?$/; # OUTPUT: «0 0 True»
In Allomorph§
See primary documentation in context for method Bool.
multimethodBool(::?CLASS:D:)
Returns False
if the invocant is numerically 0
, otherwise returns True
. The Str
value of the invocant is not considered.
Note: For the Allomorph
subclass RatStr
also see Rational.Bool
.
In role Baggy§
See primary documentation in context for method Bool.
methodBool(Baggy:D: --> Bool:D)
Returns True
if the invocant contains at least one element.
my$breakfast= ('eggs'=> 1).BagHash; say$breakfast.Bool; # OUTPUT: «True» # (since we have one element) $breakfast<eggs> = 0; # weight == 0 will lead to element removal say$breakfast.Bool; # OUTPUT: «False»
In Junction§
See primary documentation in context for method Bool.
multimethodBool(Junction:D:)
Collapses the Junction
and returns a single Boolean value according to the type and the values it holds. Every element is transformed to Bool
.
my$n=Junction.new( "one", 1..6 ); say$n.Bool; # OUTPUT: «False»
All elements in this case are converted to True
, so it's false to assert that only one of them is.
my$n=Junction.new( "one",<0 1> ); say$n.Bool; # OUTPUT: «True»
Just one of them is truish in this case, 1
, so the coercion to Bool
returns True
.
In role Setty§
See primary documentation in context for method Bool.
multimethodBool(Setty:D: --> Bool:D)
Returns True
if the invocant contains at least one element.
my$s1=Set.new(1, 2, 3); say$s1.Bool; # OUTPUT: «True» my$s2=$s1∩Set.new(4, 5); # set intersection operator say$s2.Bool; # OUTPUT: «False»
In StrDistance§
See primary documentation in context for method Bool.
Returns True
if before
is different from after
.
In role Blob§
See primary documentation in context for method Bool.
multimethodBool(Blob:D:)
Returns False
if and only if the buffer is empty.
my$blob=Blob.new(); say$blob.Bool; # OUTPUT: «False» $blob=Blob.new([1, 2, 3]); say$blob.Bool; # OUTPUT: «True»
In role Rational§
See primary documentation in context for method Bool.
multimethodBool(Rational:D: --> Bool:D)
Returns False
if numerator is 0
, otherwise returns True
. This applies for <0/0>
zero-denominator <Rational
as well, despite ?<0/0>.Num
being True
.
In Str§
See primary documentation in context for method Bool.
methodBool(Str:D: --> Bool:D)
Returns False
if the string is empty, True
otherwise.