Bird
Raised Fist0
Rubyprogramming~10 mins

Block parameters 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 pass the block parameter correctly.

Ruby
5.times do |[1]|
  puts [1]
end
Drag options to blanks, or click blank then click option'
Aindex
Bitem
Cnum
Di
Attempts:
3 left
💡 Hint
Common Mistakes
Using a variable name not inside the pipes.
Leaving the block parameter empty.
2fill in blank
medium

Complete the code to use block parameters to sum numbers.

Ruby
sum = 0
[1, 2, 3].each do |[1]|
  sum += [1]
end
puts sum
Drag options to blanks, or click blank then click option'
Avalue
Bnum
Celement
Ditem
Attempts:
3 left
💡 Hint
Common Mistakes
Using a variable name not matching the block parameter.
Trying to use the array name inside the block instead of the parameter.
3fill in blank
hard

Fix the error in the block parameter to print each key and value.

Ruby
{a: 1, b: 2}.each do |[1]|
  puts "#{ [1][0] }: #{ [1][1] }"
end
Drag options to blanks, or click blank then click option'
Akey
Bpair
Cvalue
Ditem
Attempts:
3 left
💡 Hint
Common Mistakes
Using separate parameters without parentheses.
Trying to access key and value directly without indexing.
4fill in blank
hard

Fill both blanks to correctly unpack key and value in the block parameters.

Ruby
{x: 10, y: 20}.each do |[1], [2]|
  puts "Key: #{ [1] }, Value: #{ [2] }"
end
Drag options to blanks, or click blank then click option'
Akey
Bvalue
Ck
Dv
Attempts:
3 left
💡 Hint
Common Mistakes
Using only one block parameter when two are needed.
Mixing up the order of key and value.
5fill in blank
hard

Fill all three blanks to create a hash with word lengths using block parameters and condition.

Ruby
words = ["apple", "bee", "cat"]
lengths = {}
words.each do |[1]|
  [2] = [1].[3]
  lengths[[1]] = [2] if [2] > 3
end
Drag options to blanks, or click blank then click option'
Aword
Blen
Clen(word)
Dlength
Attempts:
3 left
💡 Hint
Common Mistakes
Using incorrect variable names.
Not matching the condition with the value.

Practice

(1/5)
1.

What are block parameters in Ruby?

Choose the best description.

easy
A. Variables inside | | that receive values passed to the block.
B. Methods that define how a block works.
C. Special keywords to start a block.
D. Constants used only outside blocks.

Solution

  1. Step 1: Understand block parameters role

    Block parameters are variables placed inside | | after do or { to receive values passed into the block.
  2. Step 2: Compare options with definition

    Only Variables inside | | that receive values passed to the block. correctly describes block parameters as variables inside | | that get values passed to the block.
  3. Final Answer:

    Variables inside | | that receive values passed to the block. -> Option A
  4. Quick Check:

    Block parameters = variables inside | | [OK]
Hint: Block parameters are always inside | | after do or { [OK]
Common Mistakes:
  • Confusing block parameters with methods
  • Thinking block parameters are keywords
  • Assuming block parameters are constants
2.

Which of the following is the correct syntax for block parameters in Ruby?

array.each do ?
easy
A. [item] puts item
B. (item) puts item
C. |item| puts item
D. {item} puts item

Solution

  1. Step 1: Recall block parameter syntax

    Block parameters are placed inside vertical bars | | after do or {.
  2. Step 2: Match syntax with options

    Only |item| puts item uses |item| which is the correct syntax for block parameters.
  3. Final Answer:

    |item| puts item -> Option C
  4. Quick Check:

    Block parameters use | | [OK]
Hint: Block parameters always go inside | | after do or { [OK]
Common Mistakes:
  • Using parentheses () instead of | |
  • Using curly braces {} for parameters
  • Using square brackets [] for parameters
3.

What is the output of this Ruby code?

numbers = [1, 2, 3]
numbers.each do |n|
  puts n * 2
end
medium
A. 2 4 6
B. 1 2 3
C. Error: undefined variable n
D. nil

Solution

  1. Step 1: Understand the block parameter usage

    The block parameter n takes each element from the array numbers one by one.
  2. Step 2: Calculate output for each element

    For each n, the code prints n * 2. So outputs are 2, 4, and 6 on separate lines.
  3. Final Answer:

    2 4 6 -> Option A
  4. Quick Check:

    Each number doubled = 2,4,6 [OK]
Hint: Block parameter holds each item; multiply inside block [OK]
Common Mistakes:
  • Confusing block parameter with array variable
  • Expecting original numbers printed
  • Thinking block parameter is undefined
4.

Find the error in this Ruby code:

fruits = ['apple', 'banana']
fruits.each do fruit|
  puts fruit
end
medium
A. Block parameter should be in parentheses
B. Missing closing | after block parameter
C. No error, code runs fine
D. Missing opening | before block parameter

Solution

  1. Step 1: Check block parameter syntax

    Block parameters must be enclosed inside vertical bars | |. Here, only the closing bar is present.
  2. Step 2: Identify missing part

    The opening | before fruit is missing, causing a syntax error.
  3. Final Answer:

    Missing opening | before block parameter -> Option D
  4. Quick Check:

    Block parameters need both | | [OK]
Hint: Block parameters always need both | at start and end [OK]
Common Mistakes:
  • Forgetting the opening |
  • Using parentheses instead of | |
  • Assuming code runs without |
5.

Given this code, what will be the output?

pairs = [[1, 2], [3, 4], [5, 6]]
pairs.each do |a, b|
  puts a + b
end
hard
A. [1, 2] [3, 4] [5, 6]
B. 3 7 11
C. Error: wrong number of block parameters
D. 1 3 5

Solution

  1. Step 1: Understand multiple block parameters

    The block parameters a and b receive each inner array's two elements separately.
  2. Step 2: Calculate sum for each pair

    For each pair, the code prints the sum: 1+2=3, 3+4=7, 5+6=11.
  3. Final Answer:

    3 7 11 -> Option B
  4. Quick Check:

    Sum of pairs = 3,7,11 [OK]
Hint: Use multiple block parameters to unpack arrays inside each [OK]
Common Mistakes:
  • Expecting array printed instead of sum
  • Thinking block parameters can't unpack arrays
  • Assuming syntax error with two parameters
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