红宝石的新手,帮助简单的输出

时间:2011-03-01 15:21:26

标签: ruby

我正在尝试学习红宝石,我正在尝试在这个网站上进行练习并需要帮助 learn ruby

编写一个要求输入数字和句子的程序,并多次向后打印该句子。它应该:

enter image description here

puts "Enter A Number?"
repeatHello = gets
i = 0
begin
   puts "hello world!" + i
end while i > repeatHello

3 个答案:

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