Bird
Raised Fist0
Rubyprogramming~5 mins

Dir operations for directories in Ruby - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the Ruby Dir.pwd method return?
It returns the current working directory as a string. Think of it as asking, "Where am I right now in the folder system?"
Click to reveal answer
beginner
How do you list all files and folders inside a directory using Ruby?
Use Dir.entries(path). It returns an array of all entries (files and folders) inside the given directory path.
Click to reveal answer
intermediate
What is the difference between Dir.entries and Dir.glob?
Dir.entries lists everything inside a directory. Dir.glob lets you use patterns (like *.txt) to find specific files.
Click to reveal answer
beginner
How do you change the current working directory in Ruby?
Use Dir.chdir(path). It moves your program's focus to the folder you specify, like changing rooms in a house.
Click to reveal answer
beginner
What does Dir.mkdir('folder_name') do?
It creates a new directory (folder) named 'folder_name' in the current location. Like making a new folder in your filing cabinet.
Click to reveal answer
Which Ruby method returns the current working directory?
ADir.chdir
BDir.pwd
CDir.entries
DDir.mkdir
How do you list all files and folders inside a directory in Ruby?
ADir.chdir
BDir.mkdir
CDir.entries
DDir.pwd
Which method lets you change the current working directory?
ADir.chdir
BDir.pwd
CDir.glob
DDir.entries
What does Dir.mkdir('new_folder') do?
ACreates a new folder
BDeletes a folder
CLists files
DChanges directory
Which method allows you to find files matching a pattern like '*.rb'?
ADir.mkdir
BDir.entries
CDir.pwd
DDir.glob
Explain how to list all files in a directory and how to filter files by extension using Ruby Dir methods.
Think about how you can see everything first, then pick specific files.
You got /4 concepts.
    Describe how to change the current working directory and create a new directory in Ruby.
    Imagine moving to a new room and making a new box inside it.
    You got /4 concepts.

      Practice

      (1/5)
      1. Which Ruby method lists all files and folders inside a directory including . and ..?
      easy
      A. Dir.chdir
      B. Dir.mkdir
      C. Dir.exist?
      D. Dir.entries

      Solution

      1. Step 1: Understand the purpose of Dir.entries

        This method returns an array of all entries in the directory, including special entries . and ...
      2. Step 2: Compare with other methods

        Dir.mkdir creates a directory, Dir.exist? checks if a directory exists, and Dir.chdir changes the current directory. None of these list contents.
      3. Final Answer:

        Dir.entries -> Option D
      4. Quick Check:

        List directory contents = Dir.entries [OK]
      Hint: Use Dir.entries to list all files and folders [OK]
      Common Mistakes:
      • Confusing Dir.entries with Dir.mkdir
      • Using Dir.exist? to list files
      • Thinking Dir.chdir lists directory contents
      2. Which of the following is the correct syntax to create a new directory named test_folder in Ruby?
      easy
      A. Dir.mkdir('test_folder')
      B. Dir.create('test_folder')
      C. Dir.make('test_folder')
      D. Dir.new('test_folder')

      Solution

      1. Step 1: Recall the method to create directories

        The correct Ruby method to create a directory is Dir.mkdir.
      2. Step 2: Check syntax correctness

        Dir.mkdir('test_folder') correctly creates a directory named 'test_folder'. Other options are invalid methods.
      3. Final Answer:

        Dir.mkdir('test_folder') -> Option A
      4. Quick Check:

        Create directory = Dir.mkdir [OK]
      Hint: Use Dir.mkdir('folder_name') to create directories [OK]
      Common Mistakes:
      • Using Dir.create instead of Dir.mkdir
      • Trying Dir.new for directory creation
      • Misspelling method names
      3. What will be the output of the following Ruby code?
      Dir.mkdir('sample_dir') unless Dir.exist?('sample_dir')
      entries = Dir.entries('sample_dir')
      puts entries.inspect
      medium
      A. []
      B. ["sample_dir"]
      C. [".", ".."]
      D. Error: Directory not found

      Solution

      1. Step 1: Check directory creation and existence

        The code creates 'sample_dir' if it does not exist, so the directory will exist before listing entries.
      2. Step 2: Understand Dir.entries output for empty directory

        An empty directory still contains special entries: . (current directory) and .. (parent directory). So, Dir.entries returns [".", ".."].
      3. Final Answer:

        [".", ".."] -> Option C
      4. Quick Check:

        Empty directory entries = [".", ".."] [OK]
      Hint: Empty dirs always show '.' and '..' in Dir.entries [OK]
      Common Mistakes:
      • Expecting empty array for empty directory
      • Thinking directory name appears in entries
      • Assuming error if directory just created
      4. Identify the error in this Ruby code snippet that tries to remove a directory:
      Dir.rmdir('my_folder')
      puts 'Folder removed'
      medium
      A. Dir.rmdir only removes non-empty directories
      B. Dir.rmdir requires the directory to be empty before removal
      C. Dir.rmdir should be Dir.remove
      D. Dir.rmdir needs a block to execute

      Solution

      1. Step 1: Understand Dir.rmdir behavior

        Dir.rmdir removes only empty directories. If 'my_folder' contains files or folders, it will raise an error.
      2. Step 2: Check other options for correctness

        Dir.rmdir only removes non-empty directories is wrong because it says the opposite. Dir.rmdir should be Dir.remove is invalid method name. Dir.rmdir needs a block to execute is incorrect; no block needed.
      3. Final Answer:

        Dir.rmdir requires the directory to be empty before removal -> Option B
      4. Quick Check:

        Dir.rmdir removes empty dirs only [OK]
      Hint: Dir.rmdir only deletes empty directories [OK]
      Common Mistakes:
      • Trying to remove non-empty directories with Dir.rmdir
      • Using wrong method name like Dir.remove
      • Expecting Dir.rmdir to accept a block
      5. You want to change the current working directory to projects, create a new folder new_app inside it, and then list the contents of projects. Which sequence of Ruby commands correctly does this?
      hard
      A. Dir.chdir('projects') Dir.mkdir('new_app') puts Dir.entries('.')
      B. Dir.mkdir('new_app') Dir.chdir('projects') puts Dir.entries('new_app')
      C. Dir.entries('projects') Dir.mkdir('new_app') Dir.chdir('new_app')
      D. Dir.chdir('new_app') Dir.mkdir('projects') puts Dir.entries('.')

      Solution

      1. Step 1: Change directory to 'projects'

        Using Dir.chdir('projects') sets the current directory to 'projects'.
      2. Step 2: Create 'new_app' inside 'projects'

        Dir.mkdir('new_app') creates the new folder inside the current directory.
      3. Step 3: List contents of current directory

        Dir.entries('.') lists all files and folders inside 'projects', including 'new_app'.
      4. Final Answer:

        Dir.chdir('projects') Dir.mkdir('new_app') puts Dir.entries('.') -> Option A
      5. Quick Check:

        Change dir, create folder, list contents = Dir.chdir('projects') Dir.mkdir('new_app') puts Dir.entries('.') [OK]
      Hint: Change dir first, then create folder, then list with Dir.entries('.') [OK]
      Common Mistakes:
      • Creating folder before changing directory
      • Listing wrong directory contents
      • Changing to new folder before creating it
      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