pi program
John Colvin via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Fri Sep 25 05:54:18 PDT 2015
On Friday, 25 September 2015 at 12:51:17 UTC, Russel Winder wrote:
> On Fri, 2015-09-25 at 09:14 +0000, mzfhhhh via
> Digitalmars-d-learn wrote:
>> [...]
>
> Aha, bingo, spot on. Thanks. Amended now to:
>
> double reduce_string_loop() {
> return reduce!"a + 1.0 / (b * b)"(iota(1, 100));
> }
>
> double reduce_function_loop() {
> return reduce!((t, n) => t + 1.0 / (n * n))(iota(1, 100));
> }
>
> which both work as they should. I am sure I will be able to
> find a reason why I missed that reduce takes a function of two
> parameters not one.
>
> Interesting question on style is whether to use function
> application or method call:
>
> reduce!"a + 1.0 / (b * b)"(iota(1, 100))
>
> vs.
>
> iota(1, 100).reduce!"a + 1.0 / (b * b)"
>
> The debate may well turn into a bikeshed one, but it would be
> good to know what the opinions are.
I vastly prefer the UFCS version, but unfortunately reduce has
its arguments the wrong way around for that if you use the
version that takes a seed...
More information about the Digitalmars-d-learn
mailing list