Я извлек простой пример:
require 'pp'
x = 1..3
pp x.map do |i| {:value => i, :double => (i*2)} end
pp x.map { |i| {:value => i, :double => (i*2)} }
pp(x.map do |i| {:value => i, :double => (i*2)} end)
pp(x.map { |i| {:value => i, :double => (i*2)} })
Мне интересно, почему первый пп производит:
[1, 2, 3]
Пока все одеры дают:
[{:value=>1, :double=>2}, {:value=>2, :double=>4}, {:value=>3, :double=>6}]
Я предполагаю, что это как-то связано с приоритетом оператора. Где найти хорошее объяснение?