借一下範例
http://www.rubyist.net/~slagell/ruby/examples.html
# Program to find the factorial of a number
# Save this as fact.rb
def fact(n)
if n == 0
1
else
n * fact(n-1)
end
end
puts fact(ARGV[0].to_i)
執行的時候% ruby fact.rb 1
1
% ruby fact.rb 5
120
ARGV會把執行的時候後面給他的參數以字串存成陣列 所以就算上面只傳一個1給他,在程式裡面還是要ARGV[0],然後因為通通會被存在字串,所以還要to_i轉成數字才可以
Written with StackEdit.
沒有留言:
張貼留言