[Solved] Ruby .each fails for single element


You got that exception because the class String has no instance method each:

String.instance_methods.include?(:each) #=> false

If packages is a string need to operate on an array comprised of that string alone. We can use the method Kernel#Array to write:

Array(packages).each do |package|

Array(packages) will return packages if packages is an array and will return [packages] if packages is a single element, here a string.

I think it’s better practice, however, to always pass an array to the method, even when the array contains a single element.

3

solved Ruby .each fails for single element