本机属性可以用作参数中的绑定目标吗?

问题描述 投票:4回答:1

根据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)␤»  

属性似乎不可绑定,或者至少没有分配值。我在这里想念什么吗?

syntax raku
1个回答
0
投票

您只是将值分配给BUILD中的命名参数,不是分配给属性!

submethod BUILD( :$!numillo = 3.5e0 ) {}

应该解决。另请注意,3.5是[[not a num,您必须通过添加e0使它成为一个。

© www.soinside.com 2019 - 2024. All rights reserved.