Я прохожу онлайн-урок, который обычно имеет очень простое однострочное решение. В задаче говорится, что для следующего массива:
["emperor", "joshua", "abraham", "norton"]
Я должен использовать #inject
, чтобы получить единую строку всех имен, объединенных вместе строкой, каждое имя в начале которой ограничено, например так:
"Emperor Joshua Abraham Norton"
Хотя это можно легко сделать с помощью #map
и #join
, в данном конкретном упражнении требуется использовать только #inject. Я придумал что-то вроде этого:
["emperor", "joshua", "abraham", "norton"].inject("") do |memo, word|
memo << word.capitalize << " "
end
что даст мне:
"Emperor Joshua Abraham Norton "
где пробел в конце строки не считается правильным решением.
- Как мне добиться этого без пробела в конце?
- Это вообще правильный способ использовать
#inject
, передавая пустую строку? - Правильно ли я использую
<<
для объединения строк?