Bird
Raised Fist0
Rubyprogramming~20 mins

IRB for interactive exploration in Ruby - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
IRB Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What is the output of this IRB session snippet?
Consider the following IRB commands entered one after another. What will be the output of the last command?
Ruby
x = 10
x += 5
x * 2
A30
B25
C20
D15
Attempts:
2 left
💡 Hint
Remember that x is first set to 10, then increased by 5, then multiplied by 2.
🧠 Conceptual
intermediate
1:30remaining
What does IRB stand for and what is its main purpose?
Choose the correct description of IRB in Ruby.
AInternal Ruby Builder, a compiler for Ruby programs.
BInteractive Ruby, a tool to write and test Ruby code line by line.
CIntegrated Ruby Backend, a server for Ruby applications.
DInstant Ruby Binary, a Ruby executable file.
Attempts:
2 left
💡 Hint
IRB lets you try Ruby commands one at a time and see results immediately.
🔧 Debug
advanced
2:00remaining
Why does this IRB code raise an error?
In IRB, the following code is entered: """ puts 'Hello """ What error will IRB show and why?
Ruby
puts 'Hello
ASyntaxError: unterminated string meets end of file
BNameError: undefined local variable or method `Hello'
CNoMethodError: undefined method `puts'
DTypeError: no implicit conversion of nil into String
Attempts:
2 left
💡 Hint
Check if all quotes are properly closed.
📝 Syntax
advanced
2:00remaining
Which IRB command correctly defines a method that returns the square of a number?
Select the correct Ruby method definition entered in IRB that returns the square of a given number n.
A
def square(n):
  return n * n
end
B
def square(n) {
  n * n
}
C
def square(n)
  n * n
end
D
def square n
  n * n
end
Attempts:
2 left
💡 Hint
Ruby methods use def and end keywords without colons or braces.
🚀 Application
expert
2:30remaining
What is the value of variable result after this IRB session?
In IRB, the following commands are entered in order: """ arr = [1, 2, 3, 4] result = arr.map { |x| x * 3 }.select { |x| x > 6 } """ What is the value of result?
A[7, 8, 9, 10]
B[3, 6, 9, 12]
C[1, 2, 3, 4]
D[9, 12]
Attempts:
2 left
💡 Hint
First multiply each element by 3, then keep only those greater than 6.

Practice

(1/5)
1. What is the main purpose of using irb in Ruby?
easy
A. To debug Ruby code with a graphical interface
B. To run Ruby code interactively and test snippets quickly
C. To create Ruby project files automatically
D. To compile Ruby code into an executable file

Solution

  1. Step 1: Understand what IRB stands for

    IRB means Interactive Ruby Shell, which lets you type and run Ruby code line by line.
  2. Step 2: Identify the main use of IRB

    It is mainly used to quickly test and explore Ruby code without creating files.
  3. Final Answer:

    To run Ruby code interactively and test snippets quickly -> Option B
  4. Quick Check:

    IRB = Interactive Ruby Shell for quick code testing [OK]
Hint: IRB runs code live, no files needed [OK]
Common Mistakes:
  • Thinking IRB compiles code
  • Confusing IRB with project setup tools
  • Assuming IRB has a graphical interface
2. Which command correctly starts the IRB session in your terminal?
easy
A. ruby irb
B. start irb
C. run ruby
D. irb

Solution

  1. Step 1: Recall the command to launch IRB

    The IRB session is started simply by typing irb in the terminal.
  2. Step 2: Check other options for correctness

    Commands like ruby irb, start irb, or run ruby are incorrect for starting IRB.
  3. Final Answer:

    irb -> Option D
  4. Quick Check:

    Type irb to start IRB [OK]
Hint: Just type 'irb' to start interactive Ruby [OK]
Common Mistakes:
  • Adding extra words like 'ruby' before irb
  • Using 'start' or 'run' commands incorrectly
  • Confusing IRB start with running Ruby files
3. What will be the output when you enter this in IRB?
5.times { |i| puts i }
medium
A. 5 times printed on one line
B. 1 2 3 4 5 (each on a new line)
C. 0 1 2 3 4 (each on a new line)
D. Error: undefined method 'times'

Solution

  1. Step 1: Understand the times method

    The times method runs the block 5 times, with i from 0 to 4.
  2. Step 2: Check what puts i does inside the block

    It prints each value of i on a new line, so output is 0,1,2,3,4 each on separate lines.
  3. Final Answer:

    0 1 2 3 4 (each on a new line) -> Option C
  4. Quick Check:

    5.times counts from 0 to 4 [OK]
Hint: times starts counting from zero [OK]
Common Mistakes:
  • Thinking times starts at 1
  • Expecting output on one line
  • Assuming times is undefined in IRB
4. You typed this in IRB:
puts 'Hello

What is the error and how do you fix it?
medium
A. SyntaxError due to missing closing quote; add a closing '
B. NameError because 'Hello' is undefined; define it first
C. No error; it prints Hello
D. RuntimeError because puts is not allowed in IRB

Solution

  1. Step 1: Identify the syntax problem

    The string started with a single quote but has no closing quote, causing a SyntaxError.
  2. Step 2: Fix the error by adding the missing quote

    Adding the closing single quote after Hello fixes the syntax and allows the code to run.
  3. Final Answer:

    SyntaxError due to missing closing quote; add a closing ' -> Option A
  4. Quick Check:

    Strings need matching quotes [OK]
Hint: Check for matching quotes in strings [OK]
Common Mistakes:
  • Ignoring missing quote errors
  • Thinking puts can't be used in IRB
  • Confusing SyntaxError with NameError
5. You want to quickly test a method in IRB that returns the square of a number. Which of these is the correct way to define and test it?
hard
A. def square(x); x * x; end; square(4)
B. def square x x * x end square 4
C. def square(x) { return x * x }; square(4)
D. def square(x): return x * x end; square(4)

Solution

  1. Step 1: Check correct Ruby method syntax

    Ruby methods use def name(params); body; end syntax. def square(x); x * x; end; square(4) follows this correctly.
  2. Step 2: Verify method call syntax

    Calling square(4) is correct. The other options have syntax errors or wrong Ruby style.
  3. Final Answer:

    def square(x); x * x; end; square(4) -> Option A
  4. Quick Check:

    Method def/end with parentheses is correct [OK]
Hint: Use def ... end with parentheses for methods [OK]
Common Mistakes:
  • Using braces {} for method body
  • Omitting parentheses incorrectly
  • Using Python-like syntax with colons
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