亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Ruby > 正文

ruby 簡單例子

2020-02-24 15:41:54
字體:
來源:轉載
供稿:網友
讓我們寫一個計算階乘的函數.對于階乘的數學定義如下:

n!?=?1???????????????(當?n==0?時)???
=?n?*?(n-1)!???????(其它情況)

在Ruby里,可以這樣來寫:


def?fact(n)?
????????if?n?==?0?
??????????1?
????????else?
??????????n?*?fact(n-1)???
????????end?
??????end??

你可能會發現?end?的反復出現,正因為如此,Ruby被叫做"類Algol"語言.(實際上,Ruby的語法更像Eiffel).同時,你也可能會發現這段函數缺少return語句.在這里是可以用return的,但卻不是必須的,因為一個Ruby的函數會自動返回它所最后賦值的元素.

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


#?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是一個包含命令行參數的數組,to_i將字符串轉化為整數.

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


當參數為40時它可以工作嗎?它將使你的計算器產生溢出(overflow)...

%?ruby?fact.rb?40
815915283247897734345611269596115894272000000000?


它確實算出來了.實際上,Ruby能處理任何你機器的內存所允許的整數.實際上400!也可以:

%?ruby?fact.rb?400
64034522846623895262347970319503005850702583026002959458684
44594280239716918683143627847864746326467629435057503585681
08482981628835174352289619886468029979373416541508381624264
61942352307046244325015114448670890662773914918117331955996
44070954967134529047702032243491121079759328079510154537266
72516278778900093497637657103263503315339653498683868313393
52024373788157786791506311858702618270169819740062983025308
59129834616227230455833952075961150530223608681043329725519
48526744322324386699484224042325998055516106359423769613992
31917134063858996537970147827206606320217379472010321356624
61380907794230459736069956759583609615871512991382228657857
95493616176544804532220078258184008484364155912294542753848
03558374518022675900061399560145595206127211192918105032491
00800000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000?


我們不能一眼看出是否算對了,但我想應該是對的吧.?:-)


輸入/求值循環

當你不帶參數啟動Ruby的時候,Ruby會從標準輸入讀入命令并在輸入結束后再執行:

%?ruby
print?"hello?world/n"
print?"good-bye?world/n"
^D
hello?world
good-bye?world?


Ruby還包含了一個名為eval.rb的程序,它可以令到你在一個交互式的循環中輸入Ruby代碼并隨之顯示結果.在后面的教程里將廣泛使用這個程序.

如果你有一個ANSI兼容(ANSI-compliant)的終端(如果你正運行著一個UNIX變種,一般都是的);在DOS下,你需要安裝ANSI.SYS和ANSI.COM;然后就可以使用這個支持可視化縮排,警告提示,彩色高亮度顯示的增強eval.rb了.不行的話,試試Ruby發行版里sample目錄下的那個非ANSI版本,它可以運行于所有的控制臺.這是一個簡短的eval.rb對話:

%?ruby?eval.rb
ruby>?print?"Hello,?world./n"
Hello,?world.
???nil
ruby>?exit?


hello?world?由?print?打印出來.下一行?nil?報告最后計算出來的值;Ruby并不區分語法和表達式,因此計算一段代碼從根本上說和執行它是一回事.在這里,nil的意思是print并未返回一個有意義的值.注意:可以用exit或^D離開這個循環的解釋器.

在整個教程里,'ruby>'表示我們這個非常有用卻很小的eval.rb程序的命令提示符.
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品视频久久久| 在线中文字幕日韩| 伊人伊成久久人综合网站| 欧美在线亚洲在线| 在线午夜精品自拍| 亚洲激情第一页| 欧美一区二区大胆人体摄影专业网站| 国精产品一区一区三区有限在线| 国产精品视频xxx| 精品香蕉一区二区三区| 国产成人精品免高潮费视频| 国产精品高精视频免费| 欧美电影在线免费观看网站| 日韩av男人的天堂| 日韩精品高清视频| 亚洲精品美女久久| 国内精品久久影院| 亚洲美女视频网站| 在线a欧美视频| 国产精品劲爆视频| 欧美精品videosex性欧美| …久久精品99久久香蕉国产| 欧美激情xxxx性bbbb| 日韩一区二区福利| 98视频在线噜噜噜国产| 日本欧美爱爱爱| 黄色成人在线播放| 精品精品国产国产自在线| 97久久久免费福利网址| 欧美一级淫片丝袜脚交| 播播国产欧美激情| 欧美成人中文字幕在线| 精品女同一区二区三区在线播放| 亚洲性视频网址| 深夜精品寂寞黄网站在线观看| 亚洲自拍小视频| 国产一区玩具在线观看| 中文字幕一区二区精品| 欧美限制级电影在线观看| 精品亚洲精品福利线在观看| 成人欧美一区二区三区在线湿哒哒| 日韩视频免费大全中文字幕| 亚洲白虎美女被爆操| 亚洲无限乱码一二三四麻| 亚洲一区av在线播放| 欧美精品免费播放| 亚洲美女又黄又爽在线观看| 久久艳片www.17c.com| 久久成人av网站| 亚洲欧美中文在线视频| 欧美成人精品一区| 影音先锋欧美精品| 亚洲情综合五月天| 国产精品网红直播| 日本精品一区二区三区在线| 欧美洲成人男女午夜视频| 欧美成人精品在线视频| 亚洲有声小说3d| 久久在精品线影院精品国产| 国内精品久久久久久影视8| 欧美特级www| 岛国av一区二区三区| 亚洲a区在线视频| 欧美激情精品久久久久久大尺度| 主播福利视频一区| 国产中文欧美精品| 国产日韩精品在线播放| 中文字幕免费精品一区| 欧美黄网免费在线观看| 在线国产精品播放| 久久久久成人网| 亚洲精品wwww| 伦伦影院午夜日韩欧美限制| 久久97精品久久久久久久不卡| 日韩欧美在线观看| 91久久精品国产91性色| 国产欧美一区二区| 精品久久久久久久久久久久久| 2019亚洲日韩新视频| 2018中文字幕一区二区三区| 欧美日韩中文字幕在线视频| 91免费欧美精品| 精品视频—区二区三区免费| 亚洲精品xxxx| 精品亚洲一区二区三区在线观看| 精品福利樱桃av导航| 成人啪啪免费看| 欧美在线一区二区视频| 日韩av成人在线观看| 亚洲精品乱码久久久久久金桔影视| 亚洲精品国产福利| 久久久影视精品| 亚洲国产欧美一区二区三区久久| 久久久精品影院| 国产成人精品久久久| 亚洲国产毛片完整版| 日韩在线欧美在线| 亚洲综合在线小说| 人人澡人人澡人人看欧美| 国产精品视频久久久| 91久久久久久久一区二区| 亚洲激情在线视频| 丝袜亚洲另类欧美重口| 国产+成+人+亚洲欧洲| 精品亚洲一区二区三区四区五区| 国内精品一区二区三区| 欧美黑人一区二区三区| 日韩欧美在线免费| 欧美视频第一页| 久久婷婷国产麻豆91天堂| 在线日韩日本国产亚洲| 性欧美视频videos6一9| 91日韩在线视频| 狠狠操狠狠色综合网| 成人激情av在线| 一区二区中文字幕| 亚洲无线码在线一区观看| 精品日韩美女的视频高清| 久久久久久久久中文字幕| 视频在线观看99| 亚洲片国产一区一级在线观看| 国产精品亚洲第一区| 26uuu亚洲伊人春色| 久久视频国产精品免费视频在线| 精品国产欧美一区二区五十路| 第一福利永久视频精品| 亚洲自拍中文字幕| 亚洲韩国日本中文字幕| 性欧美激情精品| 亚洲xxx自由成熟| 毛片精品免费在线观看| 美女福利精品视频| 丰满岳妇乱一区二区三区| 久久99国产精品久久久久久久久| 欧美—级a级欧美特级ar全黄| 日韩亚洲综合在线| 久久久精品亚洲| 国产亚洲精品久久久久久777| 97精品视频在线观看| 国产精品欧美一区二区| 久久人人爽人人爽人人片亚洲| 97久久超碰福利国产精品…| 亚洲欧美日韩国产精品| 国产亚洲美女久久| 日韩精品视频免费| 91精品国产91久久久久久不卡| 日韩欧美成人区| 一个色综合导航| 国产欧洲精品视频| 成人免费在线视频网址| 欧美疯狂xxxx大交乱88av| 国产91在线播放精品91| 久久精品国产清自在天天线| 欧美日韩亚洲一区二区| 亚洲一区第一页| 深夜精品寂寞黄网站在线观看| 尤物九九久久国产精品的分类| 国产精品视频内| 成人激情视频在线| 国产精品免费久久久久影院| 日韩av在线免费观看| 国产精品第二页| 免费91麻豆精品国产自产在线观看| 精品国产乱码久久久久酒店|