def fact(n)
if n==1
1
else
n*fact(n-1)
end
end
value=fact(5)
w=5.5
p w.type
p value
p value.type
value=fact(30)
p value
p value.type
這裡有些要說明,首先在ruby裡面return是可以省略的,因為ruby自動回傳最後一個執行的敘述,當然要加上也是可以,還有就是基本上ruby的數值可以分成Fixnum、Float、Bignum,就是基本的整數、浮點數、大數,在ruby裡面特殊處理時候,如果整數(Fixnum)儲存不了,ruby就自動換轉換成Bignum。
上面的例子執行後輸出就會看到各種型態,雖然type目前這個方法已經不被鼓勵使用,但是暫時拿來觀察一下也是可以啦。
底下是範例輸出:
Float
120
Fixnum
265252859812191058636308480000000
Bignum
120
Fixnum
265252859812191058636308480000000
Bignum
沒有留言:
張貼留言