Bird
Raised Fist0
Rubyprogramming~10 mins

Times method for counted repetition 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 print "Hello" 3 times using the times method.

Ruby
3.[1] do
  puts "Hello"
end
Drag options to blanks, or click blank then click option'
Aeach
Bloop
Ctimes
Drepeat
Attempts:
3 left
💡 Hint
Common Mistakes
Using each which is for collections, not numbers.
Using loop which creates an infinite loop.
Using repeat which is not a Ruby method.
2fill in blank
medium

Complete the code to print numbers from 0 to 4 using the times method.

Ruby
5.[1] do |i|
  puts i
end
Drag options to blanks, or click blank then click option'
Atimes
Brepeat
Cloop
Deach
Attempts:
3 left
💡 Hint
Common Mistakes
Using each which is for collections, not integers.
Using loop which does not yield iteration count.
Using repeat which is not a Ruby method.
3fill in blank
hard

Fix the error in the code to print "Hi" 4 times using the times method.

Ruby
4.times [1]
  puts "Hi"
end
Drag options to blanks, or click blank then click option'
A{ |i| do }
Bdo
Cfor
Dwhile
Attempts:
3 left
💡 Hint
Common Mistakes
Using while or for which are different loop constructs.
Adding block parameters incorrectly.
4fill in blank
hard

Fill both blanks to create a hash with numbers as keys and their squares as values using times.

Ruby
squares = {}
5.[1] do |i|
  squares[i] = i[2]2
end
Drag options to blanks, or click blank then click option'
Atimes
B+
C**
D-
Attempts:
3 left
💡 Hint
Common Mistakes
Using + instead of exponentiation.
Using each instead of times.
5fill in blank
hard

Fill all three blanks to create a hash with uppercase letters as keys and their index as values using times.

Ruby
letters = {}
26.[1] do |i|
  letters[('A'.ord[2] i).[3]] = i
end
Drag options to blanks, or click blank then click option'
Atimes
B+
Cord
Dchr
Attempts:
3 left
💡 Hint
Common Mistakes
Using ord instead of chr to convert back to letter.
Using each instead of times.
Mixing up ord and chr.

Practice

(1/5)
1. What does the Ruby times method do when called on an integer?
easy
A. Repeats the given block of code that many times starting from zero.
B. Returns an array with that many elements.
C. Creates a range from zero to the integer.
D. Prints the integer value to the screen.

Solution

  1. Step 1: Understand the times method purpose

    The times method repeats a block of code a specified number of times, starting from zero.
  2. Step 2: Identify what happens when called on an integer

    When called on an integer, it runs the block that many times, passing the current count (starting at zero) to the block.
  3. Final Answer:

    Repeats the given block of code that many times starting from zero. -> Option A
  4. Quick Check:

    5.times { |i| puts i } prints 0 to 4 [OK]
Hint: Remember: times runs code block count times from zero [OK]
Common Mistakes:
  • Thinking it returns an array
  • Assuming it starts counting from 1
  • Confusing it with range creation
2. Which of the following is the correct syntax to print numbers 0 to 4 using times in Ruby?
easy
A. times(5) { |i| puts i }
B. 5.times do |i| puts i end
C. 5.times { i in puts i }
D. 5.times puts i

Solution

  1. Step 1: Check Ruby times syntax

    The correct syntax is calling times on an integer with a block, either with do...end or curly braces.
  2. Step 2: Identify the correct block parameter usage

    5.times do |i| puts i end uses 5.times do |i| puts i end, which is valid Ruby syntax to print 0 to 4.
  3. Final Answer:

    5.times do |i| puts i end -> Option B
  4. Quick Check:

    Correct block syntax = 5.times do |i| puts i end [OK]
Hint: Use integer.times do |i| ... end for correct syntax [OK]
Common Mistakes:
  • Using times(5) which is invalid
  • Incorrect block syntax like { i in ... }
  • Omitting block braces or do/end
3. What will be the output of this Ruby code?
3.times { |i| puts i * 2 }
medium
A. 0 2 4
B. 1 2 3
C. 2 4 6
D. 0 1 2

Solution

  1. Step 1: Understand the iteration count and block variable

    The 3.times runs the block 3 times with i values 0, 1, 2.
  2. Step 2: Calculate the output for each iteration

    Each iteration prints i * 2: 0*2=0, 1*2=2, 2*2=4.
  3. Final Answer:

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

    Multiply index by 2 = 0, 2, 4 [OK]
Hint: Multiply block index by 2 to get output [OK]
Common Mistakes:
  • Assuming index starts at 1
  • Printing index without multiplication
  • Confusing output order
4. Identify the error in this Ruby code snippet:
5.times do i
  puts i
end
medium
A. puts cannot be used inside times block
B. times method cannot be used with do...end
C. Missing block parameter pipes | | around i
D. Integer 5 cannot call times method

Solution

  1. Step 1: Check block parameter syntax

    In Ruby, block parameters must be enclosed in pipes: do |i| ... end.
  2. Step 2: Identify the missing pipes causing syntax error

    The code uses do i without pipes, which is invalid syntax.
  3. Final Answer:

    Missing block parameter pipes | | around i -> Option C
  4. Quick Check:

    Block params need |i|, not just i [OK]
Hint: Always use |param| in block headers [OK]
Common Mistakes:
  • Omitting pipes around block parameters
  • Thinking do/end can't be used with times
  • Misunderstanding times method usage
5. You want to create an array of squares of numbers from 0 to 4 using times. Which code correctly does this?
hard
A. squares = (0..4).times { |i| i * i } puts squares
B. squares = 5.times { |i| i * i } puts squares
C. squares = [] 5.times do i squares.push(i * i) end puts squares
D. squares = [] 5.times { |i| squares << i * i } puts squares

Solution

  1. Step 1: Understand how to collect results in an array

    Since times returns the integer, not an array, we must create an empty array and push results inside the block.
  2. Step 2: Check each option for correct syntax and logic

    squares = [] 5.times { |i| squares << i * i } puts squares initializes an empty array, uses 5.times with block parameter i, and appends i*i to the array correctly.
  3. Final Answer:

    squares = [] 5.times { |i| squares << i * i } puts squares -> Option D
  4. Quick Check:

    Use array and push inside times block [OK]
Hint: Create array first, then push inside times block [OK]
Common Mistakes:
  • Assuming times returns an array
  • Using invalid range with times
  • Omitting block parameter pipes
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