On Mon, Aug 15, 2005 at 10:43:45AM -0700, Larry Wall wrote: > : So the last line means a role can be used just like a class, and > : _inherit_ its behaviour as well? > : > : role Point { has $.x; has $.y; method move_right { $.x++ } }; > : role MyPoint is Point { > : method move_right { ./SUPER::move_right(); $.y++; } > : } > > It means that when MyPoint is finally nailed down into a class, that > class will inherit from Point. The role itself doesn't inherit.
Aye. But if a Role can be inherited _from_, then this should work too, right? role Point { has $.x; has $.y; method move_right { $.x++ } }; role OurPoint is Point { method move_right { ./SUPER::move_right; $.y++ } } role MyPoint is MyPoint { method move_right { ./SUPER::move_right; $.x++ } } my MyPoint $point .= new( :x(0) :y(0) ); $point.move_right; say $point.x; # 2 say $point.y; # 1 Thanks, /Autrijus/
pgp7v9ZkEOKWK.pgp
Description: PGP signature