文字列の各単語を逆転しようとしています。#joinメソッドを使用して文字列を配列に戻す
def reverse(string)
words=string.split(" ")
words.each do |word|
new_string = word.reverse!.join(" ")
end
end
reverse('hello from the other side')
誰かがこれがなぜ機能しないのか教えていただけますか?
文字列の各単語を逆転しようとしています。#joinメソッドを使用して文字列を配列に戻す
def reverse(string)
words=string.split(" ")
words.each do |word|
new_string = word.reverse!.join(" ")
end
end
reverse('hello from the other side')
誰かがこれがなぜ機能しないのか教えていただけますか?
.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 =
を削除しました。
あなたはルビーで経験を積むとして、あなたは、次のようにあなたがよりコンパクトに、これを書くことができるでしょう:
def reverse(string)
string.split.map(&:reverse).join(" ")
end
私は 'string.gsub(/ \ S + /、&:reverse)'に行きます。 – sawa
@sawa、それはとてもいいです。私は新しいことを学びました。 –
どのような意味では、それが動作しませんか? – sawa