> While we are here, can reduce itself generate an average? I.e. something
> cuter than:
>
> $avg = reduce { $_[0] + $_[1] } @numbers / @numbers;
Of course.
This is about as cute as it gets:
$ave = ${reduce( bless( \(((ref(^x)?$^x*ref(^x):^x)+^y)/((ref(^x)||1)+1)),
(ref($^x)||1)+1),
@numbers)
} ;
And this non-curried version of the same *actually runs* under 5.00502:
use builtin 'reduce';
$ave = ${reduce(sub{bless \(((ref($_[0])?${$_[0]}*ref($_[0]):$_[0])+$_[1])/
((ref($_[0])||1)+1)),
(ref($_[0])||1)+1
},
@numbers)
} ;
Damian
- RFC 76 (v1) Builtin: reduce Perl6 RFC Librarian
- Re: RFC 76 (v1) Builtin: reduce Chaim Frenkel
- Re: RFC 76 (v1) Builtin: reduce Bart Lateur
- Re: RFC 76 (v1) Builtin: reduce Damian Conway
- Re: RFC 76 (v1) Builtin: reduce Chaim Frenkel
- Re: RFC 76 (v1) Builtin: reduce Randal L. Schwartz
- Re: RFC 76 (v1) Builtin: reduce Damian Conway
- Re: RFC 76 (v1) Builtin: reduce Chaim Frenkel
- Re: RFC 76 (v1) Builtin: reduce Damian Conway
- Re: RFC 76 (v1) Builtin: reduce Dan Sugalski
- Re: RFC 76 (v1) Builtin: reduce Ariel Scolnicov
- Re: RFC 76 (v1) Builtin: reduce Chaim Frenkel
- Re: RFC 76 (v1) Builtin: reduce Ariel Scolnicov
- Re: RFC 76 (v1) Builtin: reduce Chaim Frenkel
- Re: RFC 76 (v1) Builtin: reduce Jeremy Howard
- Re: RFC 76 (v1) Builtin: reduce Ariel Scolnicov
- Re: RFC 76 (v1) Builtin: red... Bart Lateur
- Re: RFC 76 (v1) Builtin:... Graham Barr
- Re: RFC 76 (v1) Builtin:... John Porter
