Вы можете сделать это так:
result[1 ... -1].each { |s| s[0, 0] = ' - ' }
Обратите внимание, что есть три точки, а не две.Это работает, потому что s[0,0]
изменяет s
на месте.Если вы используете 1.9.3+, вы также можете (и, вероятно, должны) использовать prepend
:
result[1 ... -1].each { |s| s.prepend(' - ') }
И, как Жестянщик примечания в комментариях, вы также можете использовать оператор диапазона двойных точек, который является более распространенным:
result[1 .. -2].each { |s| s[0, 0] = ' - ' }
result[1 .. -2].each { |s| s.prepend(' - ') }
Какой оператор диапазона вы используете, вопрос предпочтения.