bri*_*foy 7 perl6 lexical-scope
查看Int的源代码,我看到所有的类都被声明了my,我认为这些类会使它们成为私有的,并且在该文件之外不可用.但是,他们显然是.为什么他们需要这样声明?
my class Rat { ... }
my class X::Numeric::DivideByZero { ... }
my class X::NYI::BigInt { ... }
my class Int { ... }
my subset UInt of Int where {not .defined or $_ >= 0};
my class Int does Real { # declared in BOOTSTRAP
Run Code Online (Sandbox Code Playgroud)
我认为BOOTSTRAP评论与它有关.在Perl6/Metamodel/BOOTSTRAP.nqp中有以下行:
my stub Int metaclass Perl6::Metamodel::ClassHOW { ... };
Run Code Online (Sandbox Code Playgroud)