Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
13
Task/Stream-merge/Raku/stream-merge.raku
Normal file
13
Task/Stream-merge/Raku/stream-merge.raku
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
sub merge_streams ( @streams ) {
|
||||
my @s = @streams.map({ hash( STREAM => $_, HEAD => .get ) })\
|
||||
.grep({ .<HEAD>.defined });
|
||||
|
||||
return gather while @s {
|
||||
my $h = @s.min: *.<HEAD>;
|
||||
take $h<HEAD>;
|
||||
$h<HEAD> := $h<STREAM>.get
|
||||
orelse @s .= grep( { $_ !=== $h } );
|
||||
}
|
||||
}
|
||||
|
||||
say merge_streams([ @*ARGS».&open ]);
|
||||
Loading…
Add table
Add a link
Reference in a new issue