通读https://docs.perl6.org/language/packages#Package-qualified_names,它概述了使用以下语法限定包变量:
Foo::Bar::<$quux>; #..as an alternative to Foo::Bar::quux;
作为参考,本文档中使用的包结构为:
class Foo {
sub zape () { say "zipi" }
class Bar {
method baz () { return 'Þor is mighty' }
our &zape = { "zipi" }; #this is the variable I want to resolve
our $quux = 42;
}
}
同一页面指出,这种限定方式不适用于访问上面列出的Foo::Bar包中的&zape
:
(这不适用于&zape变量)
然而,如果我尝试:
Foo::Bar::<&zape>; # instead of &Foo::Bar::zape;
它可以很好地解决问题。
我是否曲解了文档,或者完全误解了所提出的观点?例如,代码引用变量与标量之间的“不起作用”背后的逻辑是什么?
https://stackoverflow.com/questions/56524991
复制相似问题