类型对象总是未定义的,但我已经看到了一些使用的测试.defined和一些使用的测试.DEFINITE.有什么情况可能会有所不同吗?我倾向于认为任何大写的方法都不适合日常工作,而是更喜欢.defined这项任务.
my $class = IntStr;
put '-' x 20; # False
put $class.DEFINITE;
put $class.defined;
put '-' x 20; # False
$class = Nil;
put $class.DEFINITE;
put $class.defined;
put '-' x 20; # True
$class = '';
put $class.DEFINITE;
put $class.defined;
Run Code Online (Sandbox Code Playgroud)
在输出中,我正在寻找两种方法的答案不同的任何情况:
--------------------
False
False
--------------------
False
False
--------------------
True
True
Run Code Online (Sandbox Code Playgroud)