斐波那契序列红宝石

时间:2019-03-02 18:34:25

标签: ruby sequence fibonacci

我已经在Ruby上编码了斐波那契序列:

results.get(eval(sourceCode))

我需要添加什么代码以允许用户选择他们要寻找的序列的哪一部分,例如:n = 35?我正在使用MAC终端进行测试

1 个答案:

答案 0 :(得分:1)

Ruby可以采用多种形式从用户那里获取输入,但是最简单的方法是通过ARGV,它包含了命令行参数。

首先,让我们使用Ruby灵活的case语句来清理实现:

def fibonacci(n)
  case (n)
  when 1,2
    1
  else
      fibonacci(n-1) + fibonacci(n-2)
  end
end

然后从命令行参数thorugh输入输入到函数。请注意,命令行输入始终是字符串,因此需要使用.to_i将它们转换为整数:

n = ARGV[0].to_i
puts "#{n}'s fibonacci value is #{fibonacci(n)}"

然后您这样称呼它:

ruby fib.rb 35
# => 35's fibonacci value is 9227465