Hacker News new | ask | show | jobs
by taserian 2908 days ago
&& precedence mans that the && arguments are bound first, so:

    .where(p -> p.getCategory == 2 || p.getCategory == 5 && isProductUnderDiscount(p))
is equivalent to:

    if (product.getCategory() == 2 || ( product.getCategory() == 5 && isProductUnderDiscount(product) );
The extra set of parentheses are not needed due to precedence, but have been included for clarification.
1 comments

Which is not functionally the same as OPs second example which would be equivalent to

    (product.getCategory() == 2 || product.getCategory() == 5) && isProductUnderDiscount(product)