@ mr.musicman joinработает со списками всех ответов to_s, включая целые числа, но результатом всегда будет строка. Если вы хотите получить целочисленный результат, вы можете использовать to_iрезультат.
sepp2k
1
Если вы изначально разбили многострочную строку с помощью String#lines, вы можете разумно связать ее вместе, используя my_string.join('')(обратите внимание на пустой аргумент строки).
Фрэнк Коэль
Чтобы добавить к тому, что @ sepp2k сказал: joinпытается #to_strпервое и #to_sвторое.
Грег Навис
19
Хотя это немного более загадочно join, вы также можете умножить массив на строку.
Помимо того, что загадочный, есть ли возможный недостаток при использовании этого трюка?
Марсио
4
@marcioAlmada Нет недостатков, просто минимальные накладные расходы. В файле array.c первое, что делает Ruby, проверяет тип строки и затем вызывает метод join. Также: подглядывайте в скалах-источниках! Попробуйте сами: $ Array.instance_methods.*($ - сокращение для шоу-источника)
окк
1
Вот мое решение:
@arr=['<p>Hello World</p>','<p>This is a test</p>']@arr.reduce(:+)=><p>HelloWorld</p><p>This is a test</p>
Ответы:
Используйте
Array#join
метод (аргумент tojoin
- это то, что нужно вставить между строками - в данном случае пробел):источник
[1,2,3] => 123
?join
работает со списками всех ответовto_s
, включая целые числа, но результатом всегда будет строка. Если вы хотите получить целочисленный результат, вы можете использоватьto_i
результат.String#lines
, вы можете разумно связать ее вместе, используяmy_string.join('')
(обратите внимание на пустой аргумент строки).join
пытается#to_str
первое и#to_s
второе.Хотя это немного более загадочно
join
, вы также можете умножить массив на строку.источник
$ Array.instance_methods.*
($ - сокращение для шоу-источника)Вот мое решение:
источник