根据6.d (current version) check list,他们可以。
然而,
class Foo {
has num $.numillo;
submethod BUILD( :$numillo = 3.5 ) {}
};
my $foo = Foo.new;
say $foo.raku; # OUTPUT: «Foo.new(numillo => 0e0)?»
Run Code Online (Sandbox Code Playgroud)
该属性似乎不可绑定,或者至少没有分配值。我在这里错过了什么吗?
Eli*_*sen 11
您只是为 中的命名参数赋值BUILD,而不是属性!
submethod BUILD( :$!numillo = 3.5e0 ) {}
Run Code Online (Sandbox Code Playgroud)
应该解决这个问题(注意签名中的!)。请注意,3.5是不是一个num,你就必须通过增加使它一个e0。
| 归档时间: |
|
| 查看次数: |
80 次 |
| 最近记录: |