使用#join方法将字符串转换回数组

时间:2016-04-02 16:27:21

标签: ruby join

我试图反转字符串中的每个单词。

def reverse(string)
  words=string.split(" ")
  words.each do |word|
    new_string = word.reverse!.join(" ")
  end
end

reverse('hello from the other side')

有人可以告诉我为什么这不起作用吗?

1 个答案:

答案 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