В Ruby я могу использовать
result << (yield element)
и все работает, но если я сделаю
result.push(yield element)
Я получаю предупреждение о необходимости скобок для будущей совместимости. Я могу изменить выше, чтобы
result.push(yield(element))
и переводчик снова счастлив, но я не понимаю, почему мне нужны круглые скобки в одном вызове, а не в другом?