国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

ruby 簡單例子

2019-10-26 19:19:04
字體:
供稿:網(wǎng)友
讓我們寫一個(gè)計(jì)算階乘的函數(shù).對于階乘的數(shù)學(xué)定義如下:

n! = 1               (當(dāng) n==0 時(shí))   
= n * (n-1)!       (其它情況)

在Ruby里,可以這樣來寫:

代碼如下:
def fact(n) 
        if n == 0 
          1 
        else 
          n * fact(n-1)   
        end 
      end  

你可能會發(fā)現(xiàn) end 的反復(fù)出現(xiàn),正因?yàn)槿绱?Ruby被叫做"類Algol"語言.(實(shí)際上,Ruby的語法更像Eiffel).同時(shí),你也可能會發(fā)現(xiàn)這段函數(shù)缺少return語句.在這里是可以用return的,但卻不是必須的,因?yàn)橐粋€(gè)Ruby的函數(shù)會自動返回它所最后賦值的元素.

讓我們來試試我們的階乘函數(shù).加入一行代碼會使它成為一個(gè)可工作的程序:

代碼如下:
# 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 

print fact(ARGV[0].to_i), "/n"  

這里,ARGV是一個(gè)包含命令行參數(shù)的數(shù)組,to_i將字符串轉(zhuǎn)化為整數(shù).

% ruby fact.rb 1
1
% ruby fact.rb 5
120  


當(dāng)參數(shù)為40時(shí)它可以工作嗎?它將使你的計(jì)算器產(chǎn)生溢出(overflow)...

% ruby fact.rb 40
815915283247897734345611269596115894272000000000 


它確實(shí)算出來了.實(shí)際上,Ruby能處理任何你機(jī)器的內(nèi)存所允許的整數(shù).實(shí)際上400!也可以:

% ruby fact.rb 400
64034522846623895262347970319503005850702583026002959458684
44594280239716918683143627847864746326467629435057503585681
08482981628835174352289619886468029979373416541508381624264
61942352307046244325015114448670890662773914918117331955996
44070954967134529047702032243491121079759328079510154537266
72516278778900093497637657103263503315339653498683868313393
52024373788157786791506311858702618270169819740062983025308
59129834616227230455833952075961150530223608681043329725519
48526744322324386699484224042325998055516106359423769613992
31917134063858996537970147827206606320217379472010321356624
61380907794230459736069956759583609615871512991382228657857
上一篇:分析 rudy 類

下一篇:rudy 繼承 概念

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 天柱县| 偃师市| 克拉玛依市| 平山县| 石城县| 洞口县| 壤塘县| 韶山市| 阳高县| 久治县| 大庆市| 彝良县| 桂阳县| 竹北市| 娄底市| 海宁市| 景德镇市| 深州市| 综艺| 阜康市| 康定县| 图们市| 保山市| 来安县| 广元市| 安国市| 牡丹江市| 奉化市| 永康市| 林周县| 东港市| 庆元县| 遂川县| 余干县| 开江县| 无极县| 和龙市| 吉安县| 弋阳县| 甘南县| 齐河县|