2011-03-17T10:24:05
Sven_123allerdings hab ich, ausgehend von der Version im Perl6-Tutorial, etwas basteln müssen und ich kann nicht ganz nachvollziehen, warum.
Welches Tutorial?
QuoteUrsprünglich hatte ich es mit einem bloßen has $.augen; versucht, und das twigil . in Anschubsen weggelassen, also $augen = (20.rand+0.5).round;
Ich hab das mal
hier erklaert:
QuoteAttributes are declared with the has key word, and have a "twigil", that is a special character after the sigil. For private attributes that's a bang !, for public attributes it's the dot .. Public attributes are just private attributes with a public accessor. So if you want to modify the attribute, you need to use the ! sigil to access the actual attribute, and not the accessor (unless the accessor is marked is rw).
Du muesstest also
$!augen = ... schreiben.
QuoteWas genau passiert beim Aufrufen des Konstruktors?
http://perlgeek.de/blog-en/perl-6/object-construct...
An deiner Stelle wuerde ich einfach schreiben:
class Wuerfel {
has $.augen = (1..20).pick;
}
QuoteIst es also generell so, dass Twigils mitgeführt werden müssen?
Ja.