> On 18 Dec 2015, at 03:46, TS xx <maringa...@hotmail.com> wrote: > > Hello dear perl6 users, > > I was in the need of declaring a member variable as a constant integer. After > many syntax tryouts I came to this one: > > class MyClass { > has int $.myConst; > > method new () { > return self.bless(); > } > > submethod BUILD () { > constant $!myConst = 1; > } > > method showMyConst () { > print $!myConst; > } > } > > But I'm getting the followinf error message: "Twigil-Variable constants not > yet implemented. Sorry." > > The only place in the docs where I have found any reference to constants is > in here: https://doc.perl6.org/language/variables#The_%3F_Twigil > But it's not what I am looking for :/ > > So my questions are: > Is the syntax right and the thing isn't implemented yet? > Is the syntax (or the full concept) wrong? > Do I have and old interpreter (This is perl6 version 2015.02 built on MoarVM > version 2015.02)?
Yes, that is ancient in rakudo years :-) The question you should ask you: is the constant different for each instantiated object or not. If not, and you only need it inside of your class, you can just make it a constant in the mainline of the class: class MyClass { constant FOO = 42; … } If you need to expose a method returning such a constant: class MyClass { method FOO { 42 } … } Otherwise, you probably just need to add an attribute. Liz