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=$s1Set.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.

close