需要一些帮助来使def fact(n)
命令处理用户输入。当我输入“Ruby factorial.rb 5”之类的内容时,我的脚本运行良好。但是,我需要它在提示下运行。该脚本应运行如下:
puts 'Please input a non-negative integer:'
n = gets.chomp.to_i
puts "The factorial of #{n} is #{factorial}
这是我的代码现在的样子。就像我说的那样,它确实有效。当我在命令n = gets.chomp.to_i
之前添加时def fact(n)
,我会自动收到 1 的值。用户输入的数字无关紧要,它总是返回 1。
#!/user/bin/ruby
def fact(n)
if n==0
1
else
n * fact(n-1)
end
end
puts fact(ARGV[0].to_i)
如何使用用户输入进行这项工作?我想我只是有一个语法问题,但不知道如何使它工作。