Hello,

I don't quite understand why isEven is called twice in the 2nd example?

auto isEven(int n) {
        n.writeln;
        return (n % 2) == 0;
}

void main() {

        auto z = [1,2,3];
        
        // outputs 1 2 3
        z.map!(a => tuple!("number")(a))
         .filter!(a => a.number.isEven)
         .array;

        // outputs 1 2 2 3
        z.map!(a => tuple!("number","iseven")(a, a.isEven))
         .filter!(a => a.iseven)
         .array;

        return;
}

Thanks,

Jordan

Reply via email to