在 Failure 中§
有关方法定义,请参阅上下文中的主要文档
multi method defined(Failure: --> Bool)
返回 False
(故障正式未定义),并将故障标记为已处理。
sub f() ;my = f;say .handled; # OUTPUT: «False»say .defined; # OUTPUT: «False»say .handled; # OUTPUT: «True»
在 Junction 中§
有关方法定义,请参阅上下文中的主要文档
multi method defined(Junction:)
检查定义性而不是布尔值。
say ( 3 | Str).defined ; # OUTPUT: «True»say (one 3, Str).defined; # OUTPUT: «True»say (none 3, Str).defined; # OUTPUT: «False»
Failure
也被认为是未定义的
my =Failure.new;say (one 3, ).defined; # OUTPUT: «True»
自 6.d 起,此方法将自动线程化。
在 Mu 中§
有关方法定义,请参阅上下文中的主要文档
multi method defined( --> Bool)
在类型对象上返回 False
,否则返回 True
。
say Int.defined; # OUTPUT: «False»say 42.defined; # OUTPUT: «True»
一些类型(如Failure
)覆盖 defined
以返回 False
,即使对于实例也是如此
sub fails() ;say fails().defined; # OUTPUT: «False»
在 Mu 中§
有关例程定义,请参阅上下文中的主要文档
multi defined(Mu --> Bool)
调用对象上的 .defined
方法并返回其结果。