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)}'' –
입니다. 굉장해. 감사합니다. –
방금 전 준 답을 확인해보십시오. 그것은 당신에게 당신이 물어보고있는 것들을 모두하는 법을 보여줍니다. –