Bird
Raised Fist0
Rubyprogramming~10 mins

IRB customization 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 require the IRB library.

Ruby
require '[1]'
Drag options to blanks, or click blank then click option'
Ajson
Brails
Cirb
Dnet/http
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'rails' or other unrelated libraries instead of 'irb'.
Forgetting to put the library name in quotes.
2fill in blank
medium

Complete the code to start a new IRB session programmatically.

Ruby
IRB.[1]
Drag options to blanks, or click blank then click option'
Abegin
Bstart
Copen
Drun
Attempts:
3 left
💡 Hint
Common Mistakes
Using methods like 'run' or 'open' which do not exist on IRB module.
Calling methods without capitalization.
3fill in blank
hard

Fix the error in the code to customize IRB prompt with a simple string.

Ruby
IRB.conf[:PROMPT_MODE] = :[1]
Drag options to blanks, or click blank then click option'
ASIMPLE
BDEFAULT
CCUSTOM
DBASIC
Attempts:
3 left
💡 Hint
Common Mistakes
Using lowercase or undefined symbols like :simple or :basic.
Using strings instead of symbols.
4fill in blank
hard

Fill both blanks to define a custom IRB prompt hash with prompt and return strings.

Ruby
IRB.conf[:PROMPT][:[1]] = {
  PROMPT_I: '[2]',
  RETURN: '=> '
}
Drag options to blanks, or click blank then click option'
AMY_PROMPT
B>
C>>
DDEFAULT
Attempts:
3 left
💡 Hint
Common Mistakes
Using default prompt names instead of a custom one.
Using wrong prompt strings that don't end with a space.
5fill in blank
hard

Fill all four blanks to set IRB to use your custom prompt and start the session.

Ruby
IRB.conf[:PROMPT_MODE] = :[1]
IRB.conf[:PROMPT][:[1]] = {
  PROMPT_I: '[2]',
  RETURN: '=> '
}
IRB.[3]
Drag options to blanks, or click blank then click option'
AMY_PROMPT
B>>
C=>
Dstart
Attempts:
3 left
💡 Hint
Common Mistakes
Using different symbols for prompt mode and prompt hash.
Forgetting to call IRB.start to launch the session.
Using incorrect prompt strings without spaces.

Practice

(1/5)
1. What is the main purpose of customizing the ~/.irbrc file in Ruby's IRB?
easy
A. To create new Ruby classes
B. To install new Ruby gems automatically
C. To change how the IRB shell looks and behaves
D. To compile Ruby code faster

Solution

  1. Step 1: Understand the role of ~/.irbrc

    The ~/.irbrc file is used to customize the IRB shell environment.
  2. Step 2: Identify customization effects

    Customizations include changing the prompt, loading libraries, and saving history, which affect how IRB looks and works.
  3. Final Answer:

    To change how the IRB shell looks and behaves -> Option C
  4. Quick Check:

    IRB customization = change shell behavior [OK]
Hint: Remember ~/.irbrc customizes IRB shell behavior [OK]
Common Mistakes:
  • Thinking it installs gems automatically
  • Confusing with Ruby code compilation
  • Assuming it creates Ruby classes
2. Which of the following is the correct way to load the 'date' library automatically when IRB starts by editing ~/.irbrc?
easy
A. require 'date'
B. load 'date'
C. import 'date'
D. include 'date'

Solution

  1. Step 1: Recall Ruby syntax for loading libraries

    Ruby uses require 'library_name' to load external libraries.
  2. Step 2: Check each option

    require 'date' is correct; load expects a file path, import and include are incorrect here.
  3. Final Answer:

    require 'date' -> Option A
  4. Quick Check:

    Load library = require 'library' [OK]
Hint: Use require to load libraries in ~/.irbrc [OK]
Common Mistakes:
  • Using import which is not Ruby syntax
  • Using include which mixes modules, not load libs
  • Using load without full file path
3. Given this ~/.irbrc snippet:
IRB.conf[:PROMPT_MODE] = :SIMPLE
IRB.conf[:SAVE_HISTORY] = 1000

What effect does this have when you start IRB?
medium
A. Disables command history and uses default prompt
B. Changes prompt color but does not save history
C. Causes a syntax error and IRB won't start
D. Sets a simple prompt and saves last 1000 commands in history

Solution

  1. Step 1: Understand IRB.conf[:PROMPT_MODE]

    Setting :PROMPT_MODE to :SIMPLE changes IRB prompt to a simple style.
  2. Step 2: Understand IRB.conf[:SAVE_HISTORY]

    Setting :SAVE_HISTORY to 1000 means IRB saves the last 1000 commands in history.
  3. Final Answer:

    Sets a simple prompt and saves last 1000 commands in history -> Option D
  4. Quick Check:

    Prompt = simple, History saved = 1000 [OK]
Hint: Look for keys in IRB.conf to know prompt and history settings [OK]
Common Mistakes:
  • Thinking it disables history
  • Assuming syntax error from valid config
  • Confusing prompt style with color only
4. You wrote this in your ~/.irbrc file:
IRB.conf[:SAVE_HISTORY] = '1000'

But IRB does not save history as expected. What is the problem?
medium
A. The key :SAVE_HISTORY is invalid
B. The value should be an integer, not a string
C. IRB does not support saving history
D. You must restart the computer for changes to apply

Solution

  1. Step 1: Check the data type of the value

    :SAVE_HISTORY expects an integer number, not a string.
  2. Step 2: Identify the error cause

    Using a string like '1000' causes IRB to ignore the setting, so history is not saved.
  3. Final Answer:

    The value should be an integer, not a string -> Option B
  4. Quick Check:

    Integer value needed for history count [OK]
Hint: Use numbers, not strings, for numeric IRB config values [OK]
Common Mistakes:
  • Using quotes around numbers
  • Thinking IRB can't save history
  • Believing a full restart is needed
5. You want to customize IRB so that it automatically requires the 'json' library, sets a custom prompt showing the current time, and saves 500 commands in history. Which ~/.irbrc snippet correctly does this?
hard
A. require 'json' IRB.conf[:PROMPT][:CUSTOM] = { PROMPT_I: "[#{Time.now.strftime('%H:%M:%S')}] > " } IRB.conf[:PROMPT_MODE] = :CUSTOM IRB.conf[:SAVE_HISTORY] = 500
B. require 'json' IRB.conf[:PROMPT_MODE] = :SIMPLE IRB.conf[:SAVE_HISTORY] = '500'
C. load 'json' IRB.conf[:PROMPT_MODE] = :DEFAULT IRB.conf[:SAVE_HISTORY] = 500
D. require 'json' IRB.conf[:PROMPT_MODE] = :CUSTOM IRB.conf[:SAVE_HISTORY] = 1000

Solution

  1. Step 1: Load the 'json' library correctly

    Use require 'json' to load the library automatically.
  2. Step 2: Define a custom prompt with current time

    Set IRB.conf[:PROMPT][:CUSTOM] with a prompt string showing current time using Ruby's Time.now.strftime.
  3. Step 3: Set prompt mode and save history

    Assign IRB.conf[:PROMPT_MODE] = :CUSTOM to use the custom prompt and set IRB.conf[:SAVE_HISTORY] = 500 as an integer to save 500 commands.
  4. Final Answer:

    require 'json', custom prompt with current time, :CUSTOM mode, SAVE_HISTORY = 500 -> Option A
  5. Quick Check:

    Require json, custom prompt with time, save 500 history [OK]
Hint: Combine require, custom prompt hash, and integer history save [OK]
Common Mistakes:
  • Using string instead of integer for history
  • Not defining custom prompt hash properly
  • Using load instead of require for libraries
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