Bird
Raised Fist0
Rubyprogramming~10 mins

IRB for interactive exploration in Ruby - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to start the interactive Ruby shell (IRB).

Ruby
system('[1]')
Drag options to blanks, or click blank then click option'
Airb
Bruby
Crails
Dgem
Attempts:
3 left
💡 Hint
Common Mistakes
Typing 'ruby' instead of 'irb' starts the Ruby interpreter but not the interactive shell.
Using 'rails' or 'gem' commands won't open IRB.
2fill in blank
medium

Complete the code to assign the value 10 to variable x inside IRB.

Ruby
x [1] 10
Drag options to blanks, or click blank then click option'
A==
B!=
C=
D=>
Attempts:
3 left
💡 Hint
Common Mistakes
Using '==' which is a comparison operator, not assignment.
Using '=>' which is used in hashes, not for assignment.
3fill in blank
hard

Fix the error in the IRB command to print 'Hello World'.

Ruby
puts [1]Hello World[1]
Drag options to blanks, or click blank then click option'
A"
B'
C`
D:
Attempts:
3 left
💡 Hint
Common Mistakes
Using backticks which execute shell commands.
Using colon which is invalid syntax here.
4fill in blank
hard

Fill both blanks to create a hash with key :name and value 'Alice' in IRB.

Ruby
person = [1] => [2]
Drag options to blanks, or click blank then click option'
A:name
B"Alice"
C'Alice'
Dname
Attempts:
3 left
💡 Hint
Common Mistakes
Using plain word 'name' without colon for key.
Using double quotes for key which is less common for symbols.
5fill in blank
hard

Fill all three blanks to create an array of numbers from 1 to 5 and print each number in IRB.

Ruby
numbers = ([1]..[2]).to_a
numbers.each do |[3]|
  puts [3]
end
Drag options to blanks, or click blank then click option'
A1
B5
Cnum
Di
Attempts:
3 left
💡 Hint
Common Mistakes
Using 0 or 6 instead of 1 or 5 for range boundaries.
Using 'i' as block variable when 'num' is expected here.

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