0
需要一些帮助,使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}
这是我的代码现在看起来像。就像我说的那样,它确实有效。这是当我的def fact(n)
命令我自动接收的值为1不要紧,用户将在什么号码前加n = gets.chomp.to_i
,它总是返回1.
#!/user/bin/ruby
def fact(n)
if n==0
1
else
n * fact(n-1)
end
end
puts fact(ARGV[0].to_i)
如何使这项工作与用户输入?我想我只是有一个语法问题,但不知道如何使它工作。
试试'puts'请输入一个非负整数',然后'n = gets.to_i',然后'puts“#n的阶乘为#{fact(n)}'' –
真棒。谢谢 –
查看我刚才给出的完整答案。它向你展示了如何处理你所问的两件事情。 –