> On 22 Jan 2020, at 01:17, Todd Chester via perl6-users <perl6-us...@perl.org> 
> wrote:
> 
> Hi All,
> 
> What is the syntax for returning two variable from a sub?
> 
> > sub x(--> Int, UInt) { return(-2,4) };
> 
> ===SORRY!=== Error while compiling:
> Malformed return value (return constraints only allowed at the end of the 
> signature)
> ------> sub x(--> Int⏏, UInt) { return(-2,4) };

Raku *ALWAYS* only returns a *SINGLE* value.

That value may be a List.

The comma is the operator that creates Lists.

`return 1,2,3` is therefore returning a List with 1, 2 and 3 as its elements.

if you say: `my ($a,$b,$c)`, you're creating a List with three variables in 
them.

if you say: `my ($a,$b,$c) = foo` and `sub foo() { return 1,2,3 }` you will 
effectively assign a list of values to a list of variables, assigning 1 to $a, 
2 to $b, 3 to $c.

Reply via email to