Cela semble être le cas :
class Foo { has $!bar }; say Foo.new( :3bar ).perl # OUTPUT: «Foo.new»
La documentation dit cela dépend de la mise en œuvre mais je me demande si cela a vraiment un sens.
Cela semble être le cas :
class Foo { has $!bar }; say Foo.new( :3bar ).perl # OUTPUT: «Foo.new»
La documentation dit cela dépend de la mise en œuvre mais je me demande si cela a vraiment un sens.
El .perl
est correcte. Foo.new( :3bar )
fait no fais ce que tu penses. Si vous ajoutez un method bar() { $!bar }
vous remarquerez que l'attribut privé $!bar
a fait no se mettre en place :
class Foo {
has $!bar;
method bar() { $!bar }
}
say Foo.new( :3bar ).bar; # (Any)
say Foo.new( :3bar ).perl; # Foo.new
Le paramètre nommé :3bar
(alias bar => 3
) est silencieusement ignoré, parce qu'il y a pas de public avec le nom bar
.
Si vous voulez qu'il se plaigne de cette situation, alors peut-être que https://modules.raku.org/dist/StrictNamedArguments est quelque chose pour vous.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.