【发布时间】:2020-05-26 01:25:15
【问题描述】:
我最近花了很多时间调试一个脚本,当我终于发现问题时,是因为代码看起来像这样:
class Foo {
has $.bar;
method () {
# do stuff
$!.bar;
}
}
原来问题出在$!.bar,它应该是$!bar 或$.bar。我明白了。
但是为什么这不会死?
更详细地看一下,这里的问题似乎是我试图在$! 上调用一个(不存在的)方法bar,此时它是Nil,因为没有没有任何错误。
看起来我实际上可以在Nil 上调用我想要的任何方法,它们都默默地返回Nil,包括Nil.this-is-a-fake-method 和Nil.reverse-entropy(123) 之类的东西。
这是一个功能吗?如果有,原因是什么?
【问题讨论】:
标签: raku