我正在上一堂在线课程,通常有一个非常简单的单行解决方案.一个问题表明,给定以下数组:
["emperor", "joshua", "abraham", "norton"]
Run Code Online (Sandbox Code Playgroud)
我必须使用#inject一个字符串,所有名称都用一个字符串连接在一起,每个名称的初始上限,如下所示:
"Emperor Joshua Abraham Norton"
Run Code Online (Sandbox Code Playgroud)
虽然这很容易用#map和完成#join,但这个特殊的练习只需要使用#inject.我提出了这样的事情:
["emperor", "joshua", "abraham", "norton"].inject("") do |memo, word|
memo << word.capitalize << " "
end
Run Code Online (Sandbox Code Playgroud)
这会给我:
"Emperor Joshua Abraham Norton "
Run Code Online (Sandbox Code Playgroud)
其中字符串末尾的空格不作为正确的解决方案传递.
#inject,传递一个空字符串?<<组合字符串?