Bird
Raised Fist0
Rubyprogramming~5 mins

Range operators (.. and ...) in Ruby - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the range operator .. do in Ruby?
The .. operator creates a range that includes both the start and end values. It's called an inclusive range.
Click to reveal answer
beginner
What is the difference between .. and ... range operators in Ruby?
The .. operator includes the end value in the range (inclusive), while ... excludes the end value (exclusive).
Click to reveal answer
beginner
How would you create a range from 1 to 5 excluding 5 in Ruby?
Use the exclusive range operator: 1...5. This includes 1, 2, 3, 4 but not 5.
Click to reveal answer
beginner
What will (1..3).to_a return in Ruby?
It returns the array [1, 2, 3] because the range is inclusive of the end value 3.
Click to reveal answer
beginner
What will (1...3).to_a return in Ruby?
It returns the array [1, 2] because the range excludes the end value 3.
Click to reveal answer
Which range operator includes the end value in Ruby?
A..
B...
C-
D=>
What does (5...10).to_a return?
A[5, 6, 7, 8, 9, 10]
B[6, 7, 8, 9]
C[6, 7, 8, 9, 10]
D[5, 6, 7, 8, 9]
How do you create a range that includes numbers 1 to 3 in Ruby?
A1..3
B1...3
C1-3
D1=>3
Which of these is an exclusive range in Ruby?
A1..5
B1...5
C1-5
D1..6
What will (10..10).to_a return?
A[]
B[9, 10]
C[10]
D[10, 11]
Explain the difference between the two Ruby range operators .. and ....
Think about whether the last number is part of the range or not.
You got /3 concepts.
    How would you use Ruby ranges to create a list of numbers from 1 to 5, excluding 5?
    Use the operator that excludes the end value.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the main difference between the Ruby range operators .. and ...?
      easy
      A. .. includes the end value, ... excludes the end value
      B. .. excludes the end value, ... includes the end value
      C. .. creates an array, ... creates a hash
      D. .. is used for strings only, ... is used for numbers only

      Solution

      1. Step 1: Understand the .. operator

        The .. operator creates a range that includes the last value in the sequence.
      2. Step 2: Understand the ... operator

        The ... operator creates a range that excludes the last value, stopping just before it.
      3. Final Answer:

        .. includes the end value, ... excludes the end value -> Option A
      4. Quick Check:

        Range inclusion = .., exclusion = ... [OK]
      Hint: Remember: two dots include, three dots exclude end [OK]
      Common Mistakes:
      • Confusing which operator includes or excludes the end
      • Thinking both operators behave the same
      • Assuming ranges create arrays automatically
      • Mixing up usage with different data types
      2. Which of the following is the correct syntax to create a range from 1 to 5, excluding 5, in Ruby?
      easy
      A. range = 1..5
      B. range = 1...5
      C. range = (1..5).exclude_end?
      D. range = 1-5

      Solution

      1. Step 1: Identify the operator for excluding the end

        The ... operator excludes the end value, so 1...5 means 1, 2, 3, 4.
      2. Step 2: Check other options

        1..5 includes 5, (1..5).exclude_end? is a method call, not range creation, and 1-5 is subtraction.
      3. Final Answer:

        range = 1...5 -> Option B
      4. Quick Check:

        Exclude end uses three dots ... [OK]
      Hint: Use three dots to exclude the last number [OK]
      Common Mistakes:
      • Using two dots when exclusion is needed
      • Confusing method calls with range syntax
      • Using subtraction instead of range
      • Forgetting parentheses for method calls
      3. What will be the output of the following Ruby code?
      puts (1..3).to_a.inspect
      puts (1...3).to_a.inspect
      medium
      A. [1, 2] [1, 2]
      B. [1, 2] [1, 2, 3]
      C. [1, 2, 3] [1, 2, 3]
      D. [1, 2, 3] [1, 2]

      Solution

      1. Step 1: Convert (1..3) to array

        The range 1..3 includes 3, so (1..3).to_a is [1, 2, 3].
      2. Step 2: Convert (1...3) to array

        The range 1...3 excludes 3, so (1...3).to_a is [1, 2].
      3. Final Answer:

        [1, 2, 3] [1, 2] -> Option D
      4. Quick Check:

        Two dots include end, three dots exclude end [OK]
      Hint: Remember to_a shows all included values in the range [OK]
      Common Mistakes:
      • Assuming both ranges include the end
      • Mixing up which operator excludes the end
      • Forgetting to convert range to array for output
      • Misreading the output format
      4. The following Ruby code is intended to print numbers from 1 to 5, excluding 5. What is the error?
      for i in 1..5
      puts i
      end
      medium
      A. The for loop syntax is incorrect
      B. The loop variable i is not defined
      C. The range should use ... to exclude 5
      D. The puts statement should be outside the loop

      Solution

      1. Step 1: Analyze the range used in the loop

        The range 1..5 includes 5, so the loop prints 1 through 5.
      2. Step 2: Identify how to exclude 5

        To exclude 5, use the ... operator: 1...5 which stops before 5.
      3. Final Answer:

        The range should use ... to exclude 5 -> Option C
      4. Quick Check:

        Exclude end with three dots ... [OK]
      Hint: Use three dots to exclude the last number in loops [OK]
      Common Mistakes:
      • Using two dots when exclusion is needed
      • Thinking loop variable needs declaration
      • Misunderstanding for loop syntax in Ruby
      • Placing puts outside the loop incorrectly
      5. You want to create a Ruby method that returns all numbers from 1 up to but not including a given number n. Which range operator should you use inside the method to achieve this?
      hard
      A. Use 1...n to exclude n
      B. Use 1...n-1 to exclude n and n-1
      C. Use 1...(n+1) to exclude n
      D. Use 1..n to include n

      Solution

      1. Step 1: Understand the requirement

        The method should return numbers from 1 up to but not including n.
      2. Step 2: Choose the correct range operator

        Using 1...n creates a range that excludes n, exactly what is needed.
      3. Step 3: Evaluate other options

        1..n includes n, 1...(n+1) includes n, 1...n-1 excludes n-1 too, which is incorrect.
      4. Final Answer:

        Use 1...n to exclude n -> Option A
      5. Quick Check:

        Three dots exclude the end value [OK]
      Hint: Use three dots to exclude the upper limit without math [OK]
      Common Mistakes:
      • Using two dots and including the end value
      • Subtracting 1 manually instead of using three dots
      • Misplacing parentheses causing wrong range
      • Using three dots with arithmetic causing off-by-one
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard