В дополнение к ответам, приведенным выше, есть небольшая разница в выводе консоли, а именно наличие / отсутствие кавычек / кавычек, которые могут быть полезны:
p "+++++"
>> "+++++"
puts "====="
>> =====
Я считаю это полезным, если вы хотите создать простой индикатор выполнения, используя их близкий родственник, print :
array = [lots of objects to be processed]
array.size
>> 20
Это дает индикатор прогресса 100%:
puts "*" * array.size
>> ********************
И это добавляет добавочный * на каждую итерацию:
array.each do |obj|
print "*"
obj.some_long_executing_process
end
# This increments nicely to give the dev some indication of progress / time until completion
>> ******