Skip to content

Commit

Permalink
Simplify dd(), make it work for expressions
Browse files Browse the repository at this point in the history
$ 6 'dd my $a = 42, 43'
$a = 42
43
  • Loading branch information
lizmat committed Apr 16, 2015
1 parent b55263a commit e1e71d3
Showing 1 changed file with 8 additions and 16 deletions.
24 changes: 8 additions & 16 deletions src/core/Any.pm
Original file line number Diff line number Diff line change
Expand Up @@ -842,21 +842,13 @@ sub DELETEKEY(Mu \d, str $key) {
}
} #DELETEKEY

proto sub dd (|) { * }
multi sub dd (\a) {
note "{a.VAR.name} = {a.perl}";
}
multi sub dd (\a,\b) {
note "{a.VAR.name} = {a.perl}, {b.VAR.name} = {b.perl}";
}
multi sub dd (\a,\b,\c) {
note "{a.VAR.name} = {a.perl}, {b.VAR.name} = {b.perl}, {c.VAR.name} = {c.perl}";
}
multi sub dd (\a,\b,\c,\d) {
note "{a.VAR.name} = {a.perl}, {b.VAR.name} = {b.perl}, {c.VAR.name} = {c.perl}, {d.VAR.name} = {d.perl}";
}
multi sub dd (\a,\b,\c,\d,\e) {
note "{a.VAR.name} = {a.perl}, {b.VAR.name} = {b.perl}, {c.VAR.name} = {c.perl}, {d.VAR.name} = {d.perl}, {e.VAR.name} = {e.perl}";
}

sub dd (|) {
my Mu $args := nqp::p6argvmarray();
while $args {
my $var := nqp::shift($args);
my $name := $var.VAR.?name;
note $name ?? "$name = $var.perl()" !! $var.perl
}
}
# vim: ft=perl6 expandtab sw=4

0 comments on commit e1e71d3

Please sign in to comment.