Loop over multiple arrays simultaneously: Difference between revisions

Content added Content deleted
m (→‎{{header|Tailspin}}: syntax update)
Line 3,105: Line 3,105:
def z: [1, 2, 3];
def z: [1, 2, 3];


1..$x::length -> '$x($it);$y($it);$z($it);
1..$x::length -> '$x($);$y($);$z($);
' -> !OUT::write
' -> !OUT::write
</lang>
</lang>
Line 3,117: Line 3,117:
<lang tailspin>
<lang tailspin>
templates transpose
templates transpose
def a: $it;
def a: $;
def n: $it(1)::length;
def n: $(1)::length;
[ 1..$n -> $a(1..-1; $it) ] !
[ 1..$n -> $a(1..-1; $) ] !
end transpose
end transpose


[$x, $y, $z] -> transpose... -> '$($it...)
[$x, $y, $z] -> transpose... -> '$...;
' -> !OUT::write
' -> !OUT::write
</lang>
</lang>
Line 3,133: Line 3,133:
templates transpose2
templates transpose2
@: [];
@: [];
$it... -> [i](
$... -> [i](
<?($i <..$@transpose2::length>)> ..|@transpose2($i): $it;
<?($i <..$@transpose2::length>)> ..|@transpose2($i): $;
<> ..|@transpose2: [$it];) -> void
<> ..|@transpose2: [$];) -> !VOID
$@ !
$@ !
end transpose2
end transpose2


[$x, $y, $z] -> transpose2... -> '$($it...)
[$x, $y, $z] -> transpose2... -> '$...;
' -> !OUT::write
' -> !OUT::write


Line 3,145: Line 3,145:
' -> !OUT::write
' -> !OUT::write


[$u,$v,$w] -> transpose2... -> '$($it...)
[$u,$v,$w] -> transpose2... -> '$...;
' -> !OUT::write
' -> !OUT::write
</lang>
</lang>