On Fri, 28 Apr 2017 11:41:36 -0700, cookbook_...@yahoo.co.jp wrote:
> On Fri, 28 Apr 2017 10:40:49 -0700, c...@zoffix.com wrote:
> > On Fri, 28 Apr 2017 09:36:52 -0700, cookbook_...@yahoo.co.jp wrote:
> > > See the following result:
> > >
> > > $ perl6 -e '["1:0.470572470261861",
> > > "2:0.579981821025709"]>>.split(":", :skip-empty).sort({ $^b[0] <=>
> > > $^a[0] }).perl.say;'
> > > (Seq.new-consumed(), Seq.new-consumed()).Seq
> > >
> > >
> > > I think if sort method cannot look (i.e. consume) a Nth-indexed
> > > value
> > > (e.g. $^b[0], $^b[1], ...) and this behavior is a specced one, it
> > > should return a warning message.
> > >
> > >
> > > $ perl6 --version
> > > This is Rakudo version 2017.03-217-ge681498 built on MoarVM version
> > > 2017.03-115-ge8231a3
> > > implementing Perl 6.c.
> >
> >
> > Thank you for the report. This is now fixed.
> >
> > The Seqs aren't actually consumed; it was a bug in .perl wrongly
> > saying they're consumed.
> >
> > Fix: https://github.com/rakudo/rakudo/commit/54f50956ad
> > Test: https://github.com/perl6/roast/commit/7d4092d940
> 
> Thanks for fixing a bug.
> 
> However, if leaving out a .perl calling, the following example also
> cause the issue in my environment:
> 
> $ perl6 -e 'for ["1:0.470572470261861",
> "2:0.579981821025709"]>>.split(":", :skip-empty).sort({ $^b[0] <=>
> $^a[0] }) -> ($k,$v) { ($k,$v).say }'
> Too few positionals passed; expected 2 arguments but got 0 in sub-
> signature
>   in block <unit> at -e line 1
> 
> $ perl6 --version
> This is Rakudo version 2017.03-217-ge681498 built on MoarVM version
> 2017.03-115-ge8231a3
> implementing Perl 6.c.

Sorry, please forget the above my post.
I noticed that the above one has nothing to do with .sort and doesn't match the 
title of this issue.

$ perl6 -e 'for ((1, 2).Seq, (3, 4).Seq) -> ($k,$v) { ($k,$v).say; }'
Too few positionals passed; expected 2 arguments but got 0 in sub-signature
  in block <unit> at -e line 1

Reply via email to