将字符串反转,同时将其保持在一行中

时间:2018-01-24 21:24:31

标签: ruby string

我正在尝试使用代码来反转字符串:

puts("Hi now it's going to be done!")
string = gets.chomp.to_s
i = string.length
while i >= 0
  puts(string[i])
  i = i - 1
end

它以反向顺序打印字符串,但每个单词都在一行上。如何将所有这些保留在一条线上?

2 个答案:

答案 0 :(得分:1)

puts在输出结尾处添加换行符,如果还没有。

print没有。所以这样做:

while i >=0
  print string[i]
  i=i-1
end
puts

最终puts是因为您希望进一步打印在新行上。

答案 1 :(得分:0)

试试这个:

"Hi now it's going to be done!".chars.inject([]) { |s, c| s.unshift(c) }.join

或者这更容易理解:

string = 'Hi now it's going to be done!'
string.reverse!