Stream merge: Difference between revisions
Content added Content deleted
(Added Kotlin) |
SqrtNegInf (talk | contribs) m (→{{header|Perl 6}}: don't assign, bind) |
||
Line 1,363: | Line 1,363: | ||
=={{header|Perl 6}}== |
=={{header|Perl 6}}== |
||
{{works with|Rakudo|2018.02}} |
|||
<lang perl6>sub merge_streams ( @streams ) { |
<lang perl6>sub merge_streams ( @streams ) { |
||
my @s = @streams.map({ hash( STREAM => $_, HEAD => .get ) })\ |
my @s = @streams.map({ hash( STREAM => $_, HEAD => .get ) })\ |
||
Line 1,370: | Line 1,372: | ||
my $h = @s.min: *.<HEAD>; |
my $h = @s.min: *.<HEAD>; |
||
take $h<HEAD>; |
take $h<HEAD>; |
||
$h<HEAD> = $h<STREAM>.get |
$h<HEAD> := $h<STREAM>.get |
||
orelse @s .= grep( { $_ !=== $h } ); |
orelse @s .= grep( { $_ !=== $h } ); |
||
} |
} |