Patrick Karsh
1 min readMay 5, 2023

--

You have correctly pointed out that the comment seems to suggest that the method is being called with a block, while in reality, an Array is being passed as an argument to the print_names method. I understand that this can be confusing, so let me clarify the intent behind the comment and provide some examples of using blocks, Procs, and Lambdas in Ruby.

First, let's address the code snippet you've provided. The comment in question appears to be misleading, and I apologize for the confusion. Here's a corrected version of the code:

```ruby

def print_names(names, &block)

names.each do |name|

block.call(name)

end

end

# Call the method with a block

print_names(["Alice", "Bob", "Charlie"]) do |name|

puts "The name is #{name}"

end

```

In this corrected version, the print_names method accepts a second argument, &block, which represents the block passed to the method. The block.call(name) statement is used to invoke the block with the current name as an argument.

--

--

Patrick Karsh
Patrick Karsh

Written by Patrick Karsh

NYC-based Ruby on Rails and Javascript Engineer leveraging AI to explore Engineering. https://linktr.ee/patrickkarsh

No responses yet