Check if a score falls within the range 1 to 10.

← Operators and Expressions · Ref: Q1102

Range membership:

  valid <- score is in 1 ... 10

Inclusive on both ends. Works with any comparable type (Integer, Float, Character, Date). Bounds can be variables. See Q1101 for is in with collections, Q1099 for contains (substring).

Example

defines module qa.operators.isinrange

  defines program

    IsInRangeDemo()
      stdout <- Stdout()

      upperBound <- 10

      //Inside the range
      inside <- 5 is in 1 ... upperBound
      stdout.println(`5 in 1..10: ${inside}`)

      //Outside the range
      outside <- 15 is in 1 ... upperBound
      stdout.println(`15 in 1..10: ${outside}`)

      //On the boundary (inclusive)
      boundary <- 1 is in 1 ... upperBound
      stdout.println(`1 in 1..10: ${boundary}`)
Other ways to ask this
  • I need to validate that a number is between a minimum and maximum
  • In Python I'd use 'if 1 <= x <= 10'. Write the EK9 range check
  • Given a user input, verify it falls within an allowed range using 'is in'
  • Test whether an integer is within a start ... end range

Coming from another language?

Python: 1 <= x <= 10. Java: x >= 1 && x <= 10. Rust: (1..=10).contains(&x). Go: x >= 1 && x <= 10. EK9: x is in 1 ... 10.

Keywords: bounds, validate, is in, between, range, inclusive