我正在尝试学习红宝石,我正在尝试在这个网站上进行练习并需要帮助 learn ruby
编写一个要求输入数字和句子的程序,并多次向后打印该句子。它应该:
puts "Enter A Number?"
repeatHello = gets
i = 0
begin
puts "hello world!" + i
end while i > repeatHello
答案 0 :(得分:1)
我可以给你一个线索(而不是为你做这个;))。抓取用户输入,并使用将输入转换为数字(number = gets.chomp.to_i
)的示例,使用循环(例如4.times do
)多次输出反转文本。您应该能够在该教程页面的帮助下使用它来获得所需的结果。
编辑示例(可能更多ruby-ish?)
puts "Enter A Number?"
number = gets.chomp.to_i
puts "Enter A Sentence?"
sentence = gets.chomp
number.times do
puts sentence.reverse
end
答案 1 :(得分:1)
您在粘贴的代码中犯了两个错误。首先,每次循环时你需要加1。目前我没有增加价值。
在循环内(开始和结束之间)你需要增加i,如下所示:
i += 1
(这是i = i + 1的简写)。
第二个错误是在最后一行。目前它读取'当我大于repeatHello'时执行此操作,但我从0开始,所以它不会更大。
您需要将其切换到
while i < repeatHello.
你应该得到一些这样的代码:
puts "Enter A Number?"
number = gets
puts "Enter A Sentence?"
sentence = gets
i = 0
begin
puts sentence.reverse
i += 1
end while i < number
答案 2 :(得分:1)
了解Ruby的一个非常有用的事情是,重新创建用其他语言编写的结构几乎没有意义。在这种情况下,例如,您不仅不需要在循环中管理自己的计数器,而且根本不需要循环!
puts "Enter a number"
number = gets.chomp.to_i
puts "Enter a sentence"
sentence = gets
puts (sentence*number).reverse