Logical expression

Δίσεκτο έτος
Δίσεκτο έτος στη διαδρομή Elm
isLeapYear : Int -> Bool
isLeapYear year = 
  let
    divisibleBy number = 
      modBy number year == 0 
  in
    divisibleBy 4 && (not (divisibleBy 100) || divisibleBy 400)

We can combine smaller logical expressions into larger ones using the logical operators && (and), || (or), and not (negation).

A logicial expression is the most concise approach.

Precedence

In school they teach you that 2 + 3 * 4 is to be read as meaning 2 + (3 * 4). This is a convention, chosen for its convenience. We say that the * operator has higher precedence than +.

In logic similar ambiguities exist, and these are similarly resolved.

  • and has higher precedence than or, and
  • not has higher precedence than both and and or.

For example, p || q && r means the same as p || (q && r).

If you don't wish to remember the precendence of all the things, or force readers of your code to do so, you can use parentheses to make it explicit.

Translation missing: el.number.nth.ordinalized Sep 2026 · Σου φάνηκε χρήσιμη;

Άλλες προσεγγίσεις για την άσκηση Δίσεκτο έτος στη διαδρομή Elm

Άλλοι τρόποι με τους οποίους η κοινότητά μας έλυσε αυτή την άσκηση