<False True>
方法§
方法 ACCEPTS§
method ACCEPTS(Bool: --> Bool)
用于智能匹配比较。当右侧为 True
时,始终返回 True
,当匹配的右侧为 False
时,始终返回 False
。特别是,ACCEPTS
始终返回调用它的实例,即智能匹配的右侧。例如
my = Bool.new( True );# when True on the right side returns# always TrueTrue ~~ ; # TrueFalse ~~ ; # True= Bool.new( False );# when False on the right side# returns always FalseFalse ~~ ; # FalseTrue ~~ ; # False
例程 succ§
method succ(--> Bool)
返回 True
。
say True.succ; # OUTPUT: «True»say False.succ; # OUTPUT: «True»
succ
是“后继”的缩写;它返回下一个枚举值。Bool 是一个只有两个值的特殊枚举,False
和 True
。排序时,False
优先,因此 True
是它的后继。由于 True
是“最高”的 Bool 枚举值,因此它自己的后继也是 True
。
例程 pred§
method pred(--> Bool)
返回 False
。
say True.pred; # OUTPUT: «False»say False.pred; # OUTPUT: «False»
pred
是“前驱”的缩写;它返回上一个枚举值。Bool 是一个只有两个值的特殊枚举,False
和 True
。排序时,False
优先,因此 False
是 True
的前驱。由于 False
是“最低”的 Bool 枚举值,因此它自己的前驱也是 False
。
例程 enums§
method enums(--> Hash)
返回枚举对的 Hash
。适用于 Bool
类型和任何键。
say Bool.enums; # OUTPUT: «{False => 0, True => 1}»say False.enums; # OUTPUT: «{False => 0, True => 1}»
例程 pick§
multi method pick(Bool: --> Bool)multi method pick(Bool: --> Seq)
返回 True
和/或 False
的随机选择。
如果它在没有参数的情况下被调用,那么它只返回一个选择
say Bool.pick; # OUTPUT: «True»
如果它与一个 $count
被调用,那么它返回一个只有一个选择的 Seq
say Bool.pick(1); # OUTPUT: «(False)»
如果 $count
为 *
或大于或等于 2,那么它返回一个带有两个元素的 Seq
-- True
然后 False
,或 False
然后 True
say Bool.pick(*); # OUTPUT: «(False True)»
例程 roll§
multi method roll(Bool --> Bool)multi method roll(Bool --> Seq)
如果在没有参数的情况下调用,则返回 True
或 False
。否则返回随机选择的 $count
个元素。请注意,从 enum
中的每个随机选择都是独立进行的,就像一个单独的掷硬币,其中硬币的每一面代表 enum
的两个值之一。如果将 *
作为 $count
传递,则返回一个无限的 Seq
的 Bool
。
say Bool.roll; # OUTPUT: «True»say Bool.roll(3); # OUTPUT: «(True False False)»say Bool.roll(*); # OUTPUT: «(...)»
例程 Int§
multi method Int(Bool --> Int)
返回enum
对的值部分。
say False.Int; # OUTPUT: «0»say True.Int; # OUTPUT: «1»
例程 Numeric§
multi method Numeric(Bool --> Int)
返回enum
对的值部分。
say False.Numeric; # OUTPUT: «0»say True.Numeric; # OUTPUT: «1»
运算符§
前缀 ?§
multi prefix:<?>(Mu --> Bool)
将参数强制转换为Bool
。
前缀 so§
multi prefix:<so>(Mu --> Bool)
将参数强制转换为Bool
,优先级低于prefix:<?>
。