在角色 Rational 中§
请参阅方法 Bool的主要文档 在上下文中
multi method Bool(Rational: --> Bool)
如果numerator为0
,则返回False
,否则返回True
。这适用于<0/0>
零分母<Rational
,尽管?<0/0>.Num
为True
。
在 Regex 中§
请参阅方法 Bool的主要文档 在上下文中
multi method Bool(Regex: --> Bool)
与调用者的$_变量匹配,并为匹配返回True
或为不匹配返回False
。
在 Map 中§
请参阅方法 Bool的主要文档 在上下文中
method Bool(Map: --> Bool)
如果调用者包含至少一个键/值对,则返回True
。
my = Map.new('a' => 2, 'b' => 17);say .Bool; # OUTPUT: «True»
在 Match 中§
请参阅方法 Bool的主要文档 在上下文中
method Bool(Capture: --> Bool)
对于成功的匹配返回True
,对于不成功的匹配返回False
。请注意,任何零宽度匹配也可能是成功的。
say 'abc' ~~ /^/; # OUTPUT: «「」»say $/.from, ' ', $/.to, ' ', ?$/; # OUTPUT: «0 0 True»
在 Failure 中§
请参阅方法 Bool的主要文档 在上下文中
multi method Bool(Failure: --> Bool)
返回False
,并将故障标记为已处理。
sub f() ;my = f;say .handled; # OUTPUT: «False»say .Bool; # OUTPUT: «False»say .handled; # OUTPUT: «True»
在 List 中§
请参阅方法 Bool的主要文档 在上下文中
method Bool(List: --> Bool)
如果列表至少有一个元素,则返回True
,如果列表为空,则返回False
。
say ().Bool; # OUTPUT: «False»say (1).Bool; # OUTPUT: «True»
在 Proc 中§
请参阅方法 Bool的主要文档 在上下文中
multi method Bool(Proc:)
等待进程完成,如果进程的退出代码和信号都为 0,则返回True
,表示进程成功终止。否则返回False
。
在 Allomorph 中§
请参阅方法 Bool的主要文档 在上下文中
multi method Bool(::?CLASS:)
如果调用者在数值上为0
,则返回False
,否则返回True
。不考虑调用者的Str
值。
注意:对于Allomorph
子类RatStr
,另请参见Rational.Bool
。
在 Junction 中§
在方法 Bool的上下文中查看主要文档 in context
multi method Bool(Junction:)
折叠Junction
并根据类型和它所包含的值返回一个布尔值。每个元素都转换为 Bool
。
my = Junction.new( "one", 1..6 );say .Bool; # OUTPUT: «False»
在这种情况下,所有元素都转换为True
,因此断言其中只有一个元素是错误的。
my = Junction.new( "one", <0 1> );say .Bool; # OUTPUT: «True»
在这种情况下,只有一个元素是真值,1
,因此对 Bool
的强制转换返回True
。
在角色 Setty 中§
在方法 Bool的上下文中查看主要文档 in context
multi method Bool(Setty: --> Bool)
如果调用者至少包含一个元素,则返回True
。
my = Set.new(1, 2, 3);say .Bool; # OUTPUT: «True»my = ∩ Set.new(4, 5); # set intersection operatorsay .Bool; # OUTPUT: «False»
在角色 Baggy 中§
在方法 Bool的上下文中查看主要文档 in context
method Bool(Baggy: --> Bool)
如果调用者至少包含一个元素,则返回True
。
my = ('eggs' => 1).BagHash;say .Bool; # OUTPUT: «True»# (since we have one element)<eggs> = 0; # weight == 0 will lead to element removalsay .Bool; # OUTPUT: «False»
在 StrDistance 中§
在方法 Bool的上下文中查看主要文档 in context
如果before
与after
不同,则返回True
。
在角色 Blob 中§
在方法 Bool的上下文中查看主要文档 in context
multi method Bool(Blob:)
当且仅当缓冲区为空时,返回False
。
my = Blob.new();say .Bool; # OUTPUT: «False»= Blob.new([1, 2, 3]);say .Bool; # OUTPUT: «True»
在角色 Numeric 中§
在方法 Bool的上下文中查看主要文档 in context
multi method Bool(Numeric:)
如果该数字等于零,则返回False
,否则返回True
。
在 Promise 中§
在方法 Bool的上下文中查看主要文档 in context
multi method Bool(Promise:)
对于已兑现或已违背的承诺,返回True
,对于处于Planned
状态的承诺,返回False
。
在 Mu 中§
在例程 Bool的上下文中查看主要文档 in context
multi Bool(Mu --> Bool)multi method Bool( --> Bool)
在类型对象上返回False
,否则返回True
。
许多内置类型会覆盖此类型,使其对于空集合、空 字符串 或数值零返回False
say Mu.Bool; # OUTPUT: «False»say Mu.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»
在 Capture 中§
在方法 Bool的上下文中查看主要文档 in context
method Bool(Capture: --> Bool)
如果Capture
至少包含一个命名参数或一个位置参数,则返回True
。
say \(1,2,3, apples => 2).Bool; # OUTPUT: «True»say \().Bool; # OUTPUT: «False»
在 Str 中§
在方法 Bool的上下文中查看主要文档 in context
method Bool(Str: --> Bool)
如果字符串为空,则返回False
,否则返回True
。