我试图反转字符串中的每个单词。
def reverse(string)
words=string.split(" ")
words.each do |word|
new_string = word.reverse!.join(" ")
end
end
reverse('hello from the other side')
有人可以告诉我为什么这不起作用吗?
答案 0 :(得分:2)
.join(" ")
位置错误。将它移到倒数第二行的末尾:
def reverse(string)
words=string.split(" ")
words.each do |word|
word.reverse!
end.join(" ")
end
reverse('hello from the other side')
#=> "olleh morf eht rehto edis"
我删除了new_string =
,因为它什么也没做。
随着您获得Ruby经验,您会发现您可以更紧凑地编写如下:
def reverse(string)
string.split.map(&:reverse).join(" ")
end