我已经在Ruby上编码了斐波那契序列:
results.get(eval(sourceCode))
我需要添加什么代码以允许用户选择他们要寻找的序列的哪一部分,例如:n = 35?我正在使用MAC终端进行测试
答案 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