首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >包限定名。Package::<&var>与&Package::var之间的差异(如果有)?

包限定名。Package::<&var>与&Package::var之间的差异(如果有)?
EN

Stack Overflow用户
提问于 2019-06-10 18:52:16
回答 2查看 161关注 0票数 7

通读https://docs.perl6.org/language/packages#Package-qualified_names,它概述了使用以下语法限定包变量:

代码语言:javascript
复制
Foo::Bar::<$quux>; #..as an alternative to Foo::Bar::quux;

作为参考,本文档中使用的包结构为:

代码语言:javascript
复制
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变量)

然而,如果我尝试:

代码语言:javascript
复制
Foo::Bar::<&zape>;  # instead of   &Foo::Bar::zape;

它可以很好地解决问题。

我是否曲解了文档,或者完全误解了所提出的观点?例如,代码引用变量与标量之间的“不起作用”背后的逻辑是什么?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56524991

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档