我需要制作一个重复给定单词的方法,但我认为我的设计错了。我需要在单词之间留出空格,我在这里缺少什么?
def repeat(word, repeats=2)
sentence = word.to_s * repeats
return sentence
end
答案 0 :(得分:6)
当然,你缺少空格。
你可以这样做:
def repeat(word, repeats = 2)
Array.new(repeats, word).join(" ")
end
答案 1 :(得分:3)
您可以编写如下代码:
def repeat(word, repeats=2)
([word] * repeats).join(" ")
end
repeat("Hello",4)
# => "Hello Hello Hello Hello"
答案 2 :(得分:0)
这是一个更接近你的方法而不使用临时数组的人:
def repeat(word, repeats=2)
("#{word} " * repeats).chop
end
"#{word} "
使用字符串插值将单词转换为字符串并附加空格… * repeats
创建一个包含重复副本.chop
返回删除了最后一个字符的字符串(尾随空格)不必创建数组会使代码更快一些。
答案 3 :(得分:0)
w = 'kokot'
n = 13
n.times.map { w.each_char.to_a.shuffle.join }.tap { |a, _| a.capitalize! }.join(' ') << ?.