Andy Colson wrote:
> Moritz Lenz wrote:
>> Andy Colson wrote:
>>> (Sorry if this dbl-posts, sent it from the wrong account the first time)
>>>
>>> Hi all, what's wrong with this code:
>>>
>>> use v6;
>>>
>>> sub multireturn($x, $y)
>>> {
>>>     my $a = $x * 2;
>>>     my $b = $y * 2;
>>>     return($a, $b);
>>> }
>>>
>>> my($a, $b) = multireturn(2, 3);
>> 
>> There's (nearly) nothing wrong with your code, only with the compiler ;-)
>> 
>> Rakudo doesn't support list assignment yet (that's where the error
>> message comes from), and doesn't support returning values either.
>> 
>> A workaround for now is to use arrays instead.
> 
> You mean like:
> 
> my @list = multireturn(2, 3);

That, and make multireturn return an array, not a list.

> That still doesn't work.  But its not a big deal... I was just playing 
> around trying to learn the language.
> 
>> 
>> (The thing that's still wrong with your code is that you need a
>> whitespace after the 'my', otherwise my(...) should be parsed as a
>> function call).
> 
> OH!  Good call, I'd forgotten about that.  That's going to take some 
> getting used to.  I assume it'll error out and say "method my not found?"

s/method/sub/, but apart from that: yes.

-- 
Moritz Lenz
http://perlgeek.de/ |  http://perl-6.de/ | http://sudokugarden.de/

Reply via email to