Ruby on Rails方法什么都不返回

时间:2015-09-05 01:58:31

标签: ruby-on-rails ruby

我是ruby的新手,只是测试如何使用来自用户的两个变量输入来定义方法。目前,它取值但不返回任何值。

这里有什么我想念的吗?

puts "Tell me what you want to print."
      word = gets.chomp

puts "How many times do you want it printed?"
      number = gets.to_i

def print_x_times(word)
  i = 0
  while i < number
      puts(word)
    i += 1
  end
end

3 个答案:

答案 0 :(得分:1)

你应该将数字作为参数传递给函数print_x_times,就像你对word

那样

此外,此代码定义了一个函数,但没有调用它,你也应该调用它

答案 1 :(得分:1)

这里有几个尼特:

  • 您已定义了一个新方法,但尚未调用它。你可能会使用类似IRB的东西进行交互式游戏,但事实仍然是你只定义了这种方法。

  • 如果您使用wordnumber作为该方法中的变量,您将会感到困惑,因为它们不能保证与您的方法相同定义外部

如果要将两个值传递给方法,则必须指定两个参数:

def print_x_times(word, number)
    # code
end

...然后,你实际上用你的变量调用它。

print_x_times(word, number)

答案 2 :(得分:1)

这里有两个问题......

  1. 您需要定义方法以获取两个参数,字和数字。
  2. 然后,您需要使用从用户输入派生的两个参数调用该方法。