ネイティブ属性をパラメーターのバインドターゲットとして使用できますか?


8

6.d(現在のバージョン)のチェックリストによると、それらは可能です。

しかしながら、

class Foo { 
    has num $.numillo;
    submethod BUILD( :$numillo = 3.5 ) {}
};
my $foo = Foo.new;
say $foo.raku; # OUTPUT:  «Foo.new(numillo => 0e0)␤»  

属性がバインド可能ではないか、少なくとも値が割り当てられていません。ここで何か不足していますか?

回答:


11

属性でBUILDなく、の名前付きパラメーターに値を割り当てているだけです!

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

修正する必要があります(署名のに注意してください)。また、それは注意してください3.5されていないnum、あなたは追加することでものを作る必要がありますe0

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.