3
我已阅读规范,但我仍然困惑如何my class
不同于[our] class
。什么是差异和何时使用哪些?我的班级和我们班级的perl6有什么区别?
我已阅读规范,但我仍然困惑如何my class
不同于[our] class
。什么是差异和何时使用哪些?我的班级和我们班级的perl6有什么区别?
与变量一样,my
以词汇形式绑定名称,而our
另外在周围的包中创建条目。
module M {
our class Foo {}
class Bar {} # same as above, really
my class Baz {}
}
say M::Foo; # ok
say M::Bar; # still ok
say M::Baz; # BOOM!
对模块内部的类使用my
。您当然可以通过标记is export
来使这些本地符号可用于导入代码。
那么角色Rational是公共的还是导出的呢? https://github.com/rakudo/rakudo/blob/ffc5dfdf6c53eaf15a543a88fd797f0a94da6339/src/core/Rational.pm – teodozjan
@teodozjan:它不需要公开或导出,因为它是'设置'的一部分。你编写的所有代码隐含地被包含诸如“Rational”之类的核心构建的外部词法范围包围 – Christoph