Друг, который изучает Ruby как свой первый язык программирования, задал мне тот же вопрос, когда просматривал Strings in Ruby в серии Ruby Koans.Я объяснил это ему, используя следующую аналогию:
У вас стакан воды наполовину полон, и вам нужно снова наполнить стакан.
Первый способ сделать это, взяв новый стаканнаполняя его наполовину водой из-под крана, а затем используя этот второй наполовину полный стакан, чтобы наполнить свой стакан.Вы делаете это каждый раз, когда вам нужно наполнить стакан.
Второй способ - взять наполовину полный стакан и просто наполнить его водой прямо из крана.
В конце дня, у вас будет больше очков для чистки, если вы решите подбирать новое стекло каждый раз, когда вам нужно пополнить его.
То же самое относится к оператору лопаты и оператору плюс плюс.Плюс оператор равных выбирает новый «стакан» каждый раз, когда ему необходимо пополнить свой стакан, в то время как оператор лопатки просто берет тот же стакан и наполняет его.В конце дня больше «стеклянной» коллекции для оператора «плюс».