Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Mut {
- has @.a;
- method push($th) {
- push @.a, $th;
- }
- }
- class G {
- has Mut $.old;
- method dont_change_old {
- my $new = $.old.clone;
- $new.push(3);
- say "New: {$new.perl}";
- say "Old: {$.old.perl}";
- }
- }
- my $g = G.new(old => Mut.new);
- $g.dont_change_old;
- $g.dont_change_old;
- $g.dont_change_old;
- # OUTPUT:
- # New: Mut.new(a => [3])
- # Old: Mut.new(a => [])
- # New: Mut.new(a => [3])
- # Old: Mut.new(a => [3])
- # New: Mut.new(a => [3, 3])
- # Old: Mut.new(a => [3, 3])
- #
- # VERSION:
- # This is Rakudo version 2017.01 built on MoarVM version 2017.01
- # implementing Perl 6.c.
Advertisement
Add Comment
Please, Sign In to add comment