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}
ここに私のコードがどのようになっているのですか?しかし、私が言ったように、それは動作します。私は、ユーザーが置くどのような数それを問題ではありません、私は自動的に1の値を受け取るdef fact(n)
コマンドの前に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)}" ' –
驚くばかり。ありがとうございます –
私がちょうど与えた完全な答えを確認してください。それはあなたが求めていることの両方を行う方法を示しています。 –