我想制作一个程序,该程序每次都提取字符串并砍掉最后一个字符,并将结果打印到控制台:
使用Hello
作为输入字符串,结果应为:
Hello
Hell
Hel
He
H
到目前为止,这是我的代码:
def test_string
puts "Put your string in: "
string = gets.chomp
while string.length == 0
puts string.chop(/.$/)
end
end
puts test_string
答案 0 :(得分:4)
使用chop!
:
string = gets.chomp
# Print full string, e.g. "Hello"
puts string
# Print remaining... e.g. "Hell", "Hel", etc.
while string.length != 0
puts string.chop!
end
答案 1 :(得分:2)
以下代码不会修改原始字符串
string = gets.chomp
l = string.length
l.times do |i|
puts string[0..(l-i-1)]
end
答案 2 :(得分:2)
您还可以创建一个用N次字符串填充数组的数组,每次都从中获取更少的字符:
str = 'Hello'
Array.new(str.size) { |index| str[0...str.size - index] }.each { |str| p str }
# "Hello"
# "Hell"
# "Hel"
# "He"
# "H