Front page | perl.perl6.language |
Postings from August 2006
Same-named arguments
Thread Next
From:
Michael Snoyman
Date:
August 25, 2006 08:37
Subject:
Same-named arguments
Message ID:
dc69626e0608250837i3c4ebfdex80101b7c4edb9bc0@mail.gmail.com
I asked this same question on perl6-users, but no one really seemed to have
a definitive answer, so please forgive me for reasking.
I was wondering how named arguments would work when parameters of different
types had the same name, ie sub foo($bar, @bar, &bar) {...}. I wrote a
little script to test it out and ran it through pugs. Here's the results:
Hi,
I'm just starting with Perl 6. I was reading through "Perl 6 and Parrot
Essentials" (finally arrived yesterday from Amazon; very happy) and I was
wondering what would happen if you had a parameter list that included
variables of a different type but the same name (ie, $foo, @foo). I wrote a
little test script and ran it through pugs. Here's what I got:
Script:
use v6;
sub mysub($foo, @foo, %foo) {
say "Starting mysub";
say "Printing scalar";
say $foo;
say "Printing array";
say @foo;
say "Printing hash";
say %foo;
say "Leaving mysub\n";
}
my $foo = 'foo';
my @foo = qw|foo bar|;
my %foo = ( foo => 'bar', foo2 => 'bar2' );
mysub($foo, @foo, %foo);
mysub(:foo($foo), :foo(@foo), :foo(%foo));
Output:
Starting mysub
Printing scalar
foo
Printing array
foobar
Printing hash
foo barfoo2 bar2
Leaving mysub
Starting mysub
Printing scalar
foo
Printing array
Printing hash
Leaving mysub
Just wondering if the language is meant to work that way, or if it's a pugs
"feature."
Thanks,
Michael
Thread Next
-
Same-named arguments
by Michael Snoyman