Why does the long version of passing a block to Array#map (#2 below) return an enumerator, while #1 and #3 below return arrays?
Method #1: Returns an array
result = [1, 2, 3].map do |num|
num * 2
end
p result
Method #2: Returns an enumerator
p [1, 2, 3].map do |num|
num * 2
end
Method #3: Returns an array
p [1, 2, 3].map {|num| num * 2}