Why am I getting objects printed twice?

When I am in irb or in rails and I create some iteration with each, I am getting the whole struct printed again in my terminal or inside the browser. Example:

a = [1,2,3,4]

a.each do |number|
  puts n
end

The result in irb terminal or inside the browser:

1
2
3
4

=> [1,2,3,4]

Why does this => [1,2,3,4] appear inside the browser? I can't create a single list in my page because the whole structure appears.


Solution 1:

Every expression in Ruby returns a value; in irb, the value returned by the expression you've just executed is displayed after =>.

The return value of Enumerable::each is the object that called each - in this case, the array [1,2,3,4]