📖 Scenario: You are creating a simple program that repeatedly asks a user for input until they type exit. This is useful for chatbots or menu systems that keep running until the user wants to stop.
🎯 Goal: Build a Ruby program that uses the loop method to create an infinite loop. Inside the loop, the program will ask the user to type something and will stop only when the user types exit.
📋 What You'll Learn
Use the Ruby loop method to create an infinite loop
Inside the loop, ask the user to type input using gets.chomp
Break the loop if the user types exactly exit
Print a message when the loop ends
💡 Why This Matters
🌍 Real World
Infinite loops are used in programs that wait for user commands or events, like chatbots, games, or menu systems.
💼 Career
Understanding infinite loops and how to control them is essential for software developers to build interactive and responsive applications.
Progress0 / 4 steps
1
Create a variable to store user input
Create a variable called user_input and set it to an empty string "".
Ruby
Hint
Use = "" to create an empty string.
2
Start an infinite loop using the loop method
Use the Ruby loop do syntax to start an infinite loop.
Ruby
Hint
Use loop do to start the infinite loop block.
3
Get user input and break the loop if input is 'exit'
Inside the loop do, write code to set user_input to gets.chomp. Then use break if user_input == "exit" to stop the loop when the user types exit.
Ruby
Hint
Use gets.chomp to read input and break if to exit the loop.
4
Print a message after the loop ends
After the loop do block, write puts "Loop ended because you typed exit." to display a message.
Ruby
Hint
Use puts to print the message after the loop.
Practice
(1/5)
1. What does the Ruby code loop do; puts "Hello"; break; end do?
easy
A. Prints "Hello" once and stops the loop
B. Prints "Hello" infinitely without stopping
C. Causes a syntax error
D. Prints nothing
Solution
Step 1: Understand the loop structure
The loop do ... end creates an infinite loop that repeats the code inside.
Step 2: Analyze the break statement
The break immediately stops the loop after printing "Hello" once.
Final Answer:
Prints "Hello" once and stops the loop -> Option A
Quick Check:
loop with break stops after one iteration [OK]
Hint: Remember: break stops the infinite loop immediately [OK]
Common Mistakes:
Thinking loop runs forever even with break
Confusing loop with while
Ignoring the break statement
2. Which of the following is the correct syntax to create an infinite loop using the loop method in Ruby?
easy
A. loop: do puts "Hi" end
B. loop { puts "Hi" do end }
C. loop puts "Hi" do end
D. loop { puts "Hi" }
Solution
Step 1: Review Ruby loop syntax
The loop method can take a block with curly braces or do...end.
Step 2: Identify correct syntax
loop { puts "Hi" } uses loop { puts "Hi" }, which is valid Ruby syntax for an infinite loop.
Final Answer:
loop { puts "Hi" } -> Option D
Quick Check:
loop with block braces is valid syntax [OK]
Hint: Use loop with { } or do...end for blocks [OK]
Common Mistakes:
Placing do after loop without block
Using colon incorrectly
Missing block braces or do...end
3. What will be the output of the following Ruby code?
count = 0
loop do
puts count
count += 1
break if count == 3
end
medium
A. 0 1 2 3
B. 0 1 2
C. 1 2 3
D. Infinite loop printing numbers
Solution
Step 1: Trace the loop iterations
Initially, count = 0. The loop prints count, then increments it by 1.
Step 2: Check break condition
Loop breaks when count == 3, so it stops after printing 0, 1, and 2.
Final Answer:
0 1 2 -> Option B
Quick Check:
Loop stops before printing 3 due to break condition [OK]
Hint: Break stops loop before count reaches 3 [OK]
Common Mistakes:
Including 3 in output
Forgetting to increment count
Assuming infinite loop
4. Identify the error in the following Ruby code using loop do:
loop do
puts "Start"
break
puts "End"
end
medium
A. The code after break will never execute
B. The break statement is unreachable
C. Syntax error due to missing end
D. Infinite loop without break
Solution
Step 1: Understand break behavior
The break stops the loop immediately when reached.
Step 2: Analyze code after break
The puts "End" after break will never run because break exits the loop first.
Final Answer:
The code after break will never execute -> Option A
Quick Check:
Code after break is skipped [OK]
Hint: Code after break inside loop is ignored [OK]
Common Mistakes:
Thinking code after break runs
Confusing break with next
Assuming syntax error
5. How can you use the Ruby loop do method to repeatedly ask a user for input until they type "exit"?
hard
A. Use loop without break and rely on user to close program
B. Use while loop with condition input != "exit"
C. Use loop with gets and break if input equals "exit"
D. Use for loop iterating over input strings
Solution
Step 1: Use loop to repeat input request
The loop do method runs code repeatedly until broken.
Step 2: Use break with condition on user input
Inside the loop, get user input with gets.chomp and break if input is "exit".
Final Answer:
Use loop with gets and break if input equals "exit" -> Option C
Quick Check:
loop + break on condition = controlled infinite loop [OK]
Hint: Break loop when input matches exit string [OK]
Common Mistakes:
Not using break to stop loop
Using wrong loop type
Forgetting to remove newline from input
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.