青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

C++ Programmer's Cookbook

{C++ 基礎} {C++ 高級} {C#界面,C++核心算法} {設計模式} {C#基礎}

面向對象的腳本語言Ruby好可愛

從架構上看,二者雖然實際上相差甚遠,但最后表現出來的結果反而很相似。Ruby是純粹的OO語言,而Python是函數和OO混合型。雖然Ruby也能用函數風格的編碼方式,但實際上是模擬出來的。他們的這個差距對于普通的程序員影響并不大,畢竟看起來差不多。

總體來說,如果是非專業人員初嘗開發,Ruby是合適的。對于專業的程序員,我還是建議選擇Python。
 

Ruby是一種功能強大的面向對象的腳本語言,她可以使您方便快捷地進行面向對象編程.Ruby使文本處理和系統管理變得簡單,與Perl非常相似.一句話:簡單明了,擴展性強,移植性好.

Ruby的幾大亮點:

  • 語法簡單
  • 垃圾回收
  • 可移植性
  • 動態載入
  • 完全免費
  • 正則表達式



Ruby,一種面向對象的腳本語言。 它綜合了perl,python,java等語言的特點寫成,有強大的文字處理能力,簡單的語法,完全的面向對象。 而且,用它來編程,你會得到很多的樂趣,比如.... 仔細往下看吧。同時歡迎有相同愛好的人一起加入這里,共同學習。

我不打算浪費時間來談論Ruby的歷史,如果你沒有聽說過它,你可以去它的主頁看看www.ruby-lang.org,或者去它的新聞組comp.lang.ruby。如果你知道Ruby,我將講述我為什么會喜愛它。(你也可能去我的Ruby主頁或者個人主頁看看)

1. 它是面向對象的。 這表示什么意義呢? 如果問10個程序員,你也許會得到12種結果,你有你的看法,我不會試圖去改變你的看法。但是有一點,Ruby提供了對數據和方法的封裝,允許類的繼承,對象的多態。不像其它語言(C++,Perl等),Ruby從設計的時候開始就是一種面向對象的語言。

2. 它是純面向對象的語言。難道是我多余?不是這樣的,之所以這么說,因為Ruby中一切都是對象,包括原始數據類型(primitive data types),比如字符串,整型,都表示的是一個對象,而不需要Java那樣提供包裝類(wrapper classes)。另外,甚至是常量,也會被當作對象來處理,所以一個方法的接收者,可以是一個數字常量。

3. 它是動態語言。 對于只熟悉像C++,Java這樣靜態語言的人來說,這是一個重大的概念上的差別。動態意味著方法和變量可以在運行時候添加和重定義。它減少了像C語言那樣的條件編譯(#ifdef),而且容易實現反射API(reflection API)。動態性使得程序能自我感知(self-aware),比如運行時類型信息,檢測丟失的方法,用來檢測增加方法的鉤子等。在這些方面Ruby和Lisp和Smalltalk都有一些關系。

4. 它是一種解釋執行的語言。這是一個負雜的問題,值得重點解釋一下,也許這個特點會因為性能的原因而引起從優點變為缺點的爭論。對于此,我有幾點見解:1.第一:快速開發循環是一個巨大的好處,這要得意于Ruby的解釋執行。2.多慢才叫慢呢?在說它慢之前先定一個慢的基準。3.也許有人要批評我了,但我還要說:處理器每年都在變得原來越快。4.如果你真的很在意你的速度,你可以用C開發一部分你的代碼。5.最后,從某種意義上說,這是一個還在爭論中的問題,沒有一個語言天生就是解釋型的,世界上沒有哪個法律進制開發一個Ruby編譯器出來。

5. 它理解正則表達式。 很多年之前,正則表達式只是用在UNIX的工具如grep或者sed中,或者在vi中進行一些一定的查找-替換等。Perl的出現解決了這些問題,而現在,Ruby同樣也能做到這些。越來越多得人認識到了這種字符串和文本處理技術的難以置信的能力,如果你對此表示懷疑,那么請去看一下 Jeffrey Friedl的書Mastering Regular Expressions,然后,你就應該不會有什么懷疑了。

6. 它是多平臺的。 Ruby可以運行在Linux,UNIX,Windows,BeOS?,甚至MS-DOS。如果我沒記錯,甚至還有一個Amiga 版本的

7. 它是派生來的。 這是一件好事情嗎?拋去書本上的知識,它是有用的。牛頓曾說過“我如果看得比別人遠,那是因為我站在巨人的肩膀上”。Ruby同樣也是站在巨人的肩膀上,它借鑒了Smalltalk, CLU, Lisp, C, C++, Perl, Kornshell等的優點。在我看來它的原則包括:1.不要重復制造輪子。2.不要修補沒有損壞的東西。3.最后一個也是比較特別的,它能平衡(Leverage )你已有的知識。你了解UNIX的文件和管道,沒關系,你可以在Ruby中繼續用,你用了兩年的時間學習了printf 指示符,不必擔心,Ruby中你也可以使用printf。你知道Perl的正則表達式處理,那么你也就學會了Ruby中的正則表達式。

8. 它是創新的。 是不是覺得這個和第七條矛盾了?也許是有一部分矛盾,每個硬幣都有兩面。一些Ruby的特點都是創新的東西,比如非常有用的Mix-in,也許這個特點會被后來的語言借鑒。(注:一位讀者指出Lisp早在1979年就有mix-in了,這是我的疏忽;我應該找個更好的例子,并且能確信它。)

9. 它是非常高層次的語言。(Very High-Level Language :VHLL) 這是一個容易引起爭論的話題,因為這個術語還沒有廣泛使用。而且它的意思比起OOP來說還是有討論余地的。我這么說,指的是Ruby能支持復雜的結構和這些結構的負雜的操作,而需要的指令非常少,這與最小努力原則(Principle of Least Effort)一致。

10. 它有一個靈巧的垃圾收集器。 像malloc和free 這樣的例程已經是昨天的惡夢了,你不需要什么回收內存的操作,甚至是調用垃圾收集器。

11. 它是腳本語言。 不要因為此就認為它不夠強大,它不是一個玩具。它是完全成熟的語言,用它能輕松的完成傳統的腳本操作,比如運行外部程序,檢查系統資源,使用管道,捕獲輸出等等。

12. 它是通用的。 Kornshell做的東西它也可以做,C語言做的東西它也可以做的很好。你可以用它寫一個只運行一次的只有10行的程序,或者對一些遺留程序進行包裝,你想寫個web server,或者一個CGI,都可以用Ruby來寫。

13. 它是多線程的。 Y你可以用一些簡單的API來寫多線程程序,甚至在MS-DOS上都可以。

14. 它是open source的。 你想看它的源代碼嗎?可以,你也可以提交補丁,參加廣泛的社區,包括它的創造者。

15. 它是值覺得。 Ruby的學習曲線比較低,而如果你翻過了一個坎,你開始“猜測”事情是怎么工作的,而且你的猜測很多時候都是正確的。Ruby堅持最小驚訝( Least Astonishment)的原則。

16. 它有異常機制。 像Java和 C++一樣, Ruby 中也有異常機制,這意味著你不必因為返回值而將代碼弄得凌亂不堪,很少的嵌套if語句,很少的意大利面條似的邏輯,更好的錯誤處理。

17. 它有一個高級的數組類:Array。 Ruby中數組都是動態的,你不必像pascal那樣在聲明它的大小,也不必像C,C++那樣為它分配內存。它們是對象,所以你不必關心它們的長度,實際上你不能"走到末尾(walk off the end)"。這個類提供了各種方法,使得你能夠根據索引,根據元素來訪問數組內容,也可以反向處理數組。你也可以用數作作為set,隊列,堆棧等。如果你想用查找表,可以用哈希結構。

18. 它是可以擴展的。 你可以用C或者Ruby來編寫外部庫(external libraries),同樣,你也可以修改已有的類和對象。

19. 鼓勵文檔編程(literate programming)。 你可以在Ruby程序中嵌入注釋或者文檔,這些文檔可以用Ruby的文檔工具提取和處理。(真正的文檔編程者可能認為這是必須的基本東西吧)

20. 創造性的使用標點符號和大寫字母。 比如一個方法返回一個boolean型(Ruby中并沒有這種說法),那么一般這個方法最后都以問號結尾,如果一個方法要修改接收者本身,或者具有破壞性,則用一個感嘆號結尾,簡單,直覺。所有常量,包括類名,都以大寫字母開頭,所有對象屬性以@符號開頭。這有匈牙利命名法的實用性,但是沒有視覺上的丑陋性。

21. Reserved words aren't.It's perfectly allowable to use an identifier that is a so-called "reserved word" as long as the parser doesn't perceive an amibiguity. This is a breath of fresh air.(能用保留字作為變量嗎?沒看太懂。)

22. 支持迭代器。 這使得你可以給一個數組,list,tree等對象傳遞一個塊,然后對它們的每個元素進行block調用。這個技術值得深入學習。

23. 它的安全性。 Ruby借鑒了Perl中基于$SAFE變量的分層控制機制 。這對于CGI程序來說非常有用,可以防止人們攻擊web服務器。

24. Ruby中沒有指針。 像 Java一樣,和C++不同,Ruby中沒有指針的概念,所以免除了關于指針語法和調試的頭疼。當然,這也意味著最底層的程序開發將會很困難,比如訪問一個設備的控制狀態寄存器;但是,我們可以用一個C庫來調用。(像C語言程序員有時候要使用匯編語言一樣,Ruby程序員有時候也要使用C語言來完成一定的任務)

25. 它使得人們專注于細節。 Ruby中有很多同義詞和別名,你也許不記得字符串或數組的長度是size還是length,沒關系,它們任何一個都可以工作。對于Range來說,你可以使用begin 和end 或者使用 first 和 last,它們也都工作。你想拼寫indices,結果寫成了indexes,沒關系,這兩個都一樣。

26. 非常靈活的語法。 方法調用時候括號可以省略,參數之間只需用逗號分割。類似Perl風格的數組定義可以讓你不用全部使用引號和逗號定義一個字符串的數組。關鍵字return可以生路。

27. 豐富的庫函數。 Ruby提供了線程,socket,有限對象持久化,CGI,服務器端可執行的,數據庫等其它庫函數,還有對Tk的支持等。還有很多其它的庫函數。

28. 本身自帶調試器(debugger)。 在完美的世界中,我們才不需要調試器,但是這個世界不是完美的。

29. 交互式執行。 可以用Ruby像Kornshell那樣執行。 (這可能是本頁最具爭論的一點,我不得不承認,Ruby真的不是一個很好的shell。但我仍然堅持,基于Ruby的shell是一個不錯的主意。)

30. 它是簡明的。 不像Pascal那樣要求if后面跟著then,while后面跟著do 。變量不需要聲明,它們不需要類型。返回類型不必指定,關鍵字return 可以省略,它將返回最后一個表達式的值。另一方面,它也不像Perl或者C那樣復雜難懂。

31. 它是面向表達式的(expression-oriented)。 你可以輕易的使用 x = if a<0 then b else c 這樣的表達式。

32. 語法砂糖(syntax sugar)。 (像Mary Poppins解釋:一勺語法的糖能使語義被接受) 。如果你想對數組x進行迭代,可以用for a in x。你也可以用a+=b代替a=a+b,這都行。很多操作符其實在Ruby中都是方法,這些方法的名字比較直觀,短小,有著便利的語法。

33. 它支持操作符重載。 如果我沒有記錯的話,早在很久之前的SNOBOL就提供了這個功能,但是直到C++它才變得流行。雖然它可能亂用而出錯,但是這仍是一個非常不錯的優點。另外Ruby自動定義操作符的賦值版本,比如,如果你重定義了+,那么,你同時得到了一個+=操作符。

34. 支持無限精度的數字。 有人會關心 short, int, long嗎,只需要使用 Bignum就行了,你可以輕松的實現365的階乘。

35. 有冪操作符。 在很久以前,我們在BASIC和FORTRAN中使用它,然而當我們學習Pascal和C之后,我們才認識到這個操作符有多差勁。(我們被告知自己連它是怎么工作的都不知道-它使用了對數,迭代了嗎,效率如何?),但是,我們真的關系這些嗎?如果是,我們可以重寫這個方法,否則,Ruby有非常好的* *(星號之間無空格)操作符可以用。

36. 強大的字符串處理。 If如果你想查找,判斷,格式化,trim,定界(delimit),interpose,tokenize,你可以自己選擇隨便用哪一個來得到你想要的結果。

37. 規則很少引起異常。 Ruby的語法和語義比其它語言有條理,每種語言都有獨特的一面,每條規則都會有異常發生,但是Ruby規則引起的異常就少的多了。

posted on 2006-01-02 12:06 夢在天涯 閱讀(472) 評論(0)  編輯 收藏 引用

公告

EMail:itech001#126.com

導航

統計

  • 隨筆 - 461
  • 文章 - 4
  • 評論 - 746
  • 引用 - 0

常用鏈接

隨筆分類

隨筆檔案

收藏夾

Blogs

c#(csharp)

C++(cpp)

Enlish

Forums(bbs)

My self

Often go

Useful Webs

Xml/Uml/html

搜索

  •  

積分與排名

  • 積分 - 1812168
  • 排名 - 5

最新評論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              亚洲国产精品成人综合色在线婷婷| 久久九九热re6这里有精品| 韩国美女久久| 国产啪精品视频| 欧美人成网站| 欧美日本一道本在线视频| 欧美怡红院视频| 国产精品国产三级国产专区53| 欧美ed2k| 蜜臀av在线播放一区二区三区| 久久网站免费| 久久综合色婷婷| 免费日韩成人| 欧美老女人xx| 欧美系列精品| 国产日韩在线视频| 亚洲第一综合天堂另类专| 亚洲人www| 亚洲无毛电影| 麻豆精品视频在线观看| 欧美国产欧美综合| 一区二区高清视频| 亚洲免费影视| 欧美大片免费久久精品三p| 欧美剧在线观看| 国产欧美在线播放| 亚洲欧洲一级| 亚洲一区美女视频在线观看免费| 久久久久久久久久久久久女国产乱 | 欧美高清视频www夜色资源网| 亚洲国产小视频在线观看| 亚洲欧美999| 欧美激情一区二区三区蜜桃视频 | 一区在线观看| 午夜精品久久久久久久99热浪潮 | 欧美系列电影免费观看| 亚洲丶国产丶欧美一区二区三区| 亚洲在线观看| 亚洲精品国久久99热| 久久五月天婷婷| 国产欧美日韩视频在线观看 | 亚洲免费黄色| 欧美成人一区二区三区片免费| 亚洲一区二区三区免费在线观看| 欧美国产精品人人做人人爱| 伊人久久噜噜噜躁狠狠躁| 亚洲视频视频在线| 亚洲激情一区二区| 久久精品国产免费看久久精品| 欧美性理论片在线观看片免费| 伊人影院久久| 久久久欧美精品| 亚洲欧美日韩国产一区二区三区| 亚洲最新在线视频| 美女脱光内衣内裤视频久久网站| 久久永久免费| 久久精品国产亚洲一区二区三区| 国产精品初高中精品久久| 亚洲精品欧美激情| 蜜臀av国产精品久久久久| 香蕉成人伊视频在线观看| 国产日韩精品视频一区| 久久精品人人爽| 小黄鸭精品aⅴ导航网站入口| 国产精品揄拍500视频| 亚洲一区视频在线| 亚洲一区精品在线| 国产精品视频九色porn| 亚洲欧美国产一区二区三区| 一本一本久久a久久精品综合麻豆| 欧美激情视频一区二区三区免费 | 欧美二区不卡| 久久在线免费观看| 亚洲风情亚aⅴ在线发布| 久久婷婷影院| 鲁大师影院一区二区三区| 亚洲欧洲一区二区在线观看| 91久久精品一区| 国产精品高潮在线| 欧美在线啊v| 久久先锋影音av| 99精品国产一区二区青青牛奶| 99亚洲伊人久久精品影院红桃| 国产精品丝袜久久久久久app | 一本色道久久加勒比88综合| 国产精品国产精品国产专区不蜜| 久久精品国产亚洲aⅴ| 久久综合亚洲社区| 亚洲视频免费在线| 久久久久久一区| 亚洲视频在线观看三级| 欧美一区二区视频在线观看2020 | 玖玖国产精品视频| 欧美二区在线看| 亚欧成人在线| 欧美精品二区三区四区免费看视频| 亚洲制服少妇| 久久久综合网| 亚洲欧美另类国产| 免费成人av| 欧美在线电影| 欧美日韩亚洲一区在线观看| 榴莲视频成人在线观看| 国产精品久久久久久久久久妞妞| 久久久久一区二区三区| 欧美日韩国产综合在线| 老鸭窝毛片一区二区三区| 国产精品xvideos88| 欧美激情1区| 香港成人在线视频| 国产精品播放| 欧美二区乱c少妇| 国产麻豆精品在线观看| 日韩西西人体444www| 亚洲第一福利视频| 午夜精品久久久久久99热软件 | 国产一区二区三区免费观看| 亚洲国产片色| 亚洲第一成人在线| 欧美亚洲免费| 香蕉国产精品偷在线观看不卡| 欧美—级高清免费播放| 久久亚洲二区| 国产伦精品一区二区三区照片91| 日韩视频中文字幕| 亚洲精品午夜| 欧美高清不卡在线| 欧美大片在线观看一区二区| 亚洲第一区在线观看| 久久久7777| 免费精品99久久国产综合精品| 狠狠色2019综合网| 久久久久国产精品一区三寸| 久久久久亚洲综合| 在线成人av.com| 久久夜色精品国产噜噜av| 久久麻豆一区二区| 精品成人在线观看| 久久久蜜桃一区二区人| 美国十次成人| 亚洲人成网站色ww在线| 欧美激情1区| 日韩一级大片在线| 亚洲欧美www| 国产亚洲欧美在线| 久久精品人人做人人爽电影蜜月| 久久综合999| 一区二区三区在线不卡| 久久亚洲一区| 亚洲免费成人| 性欧美xxxx视频在线观看| 国产亚洲欧美激情| 久久人人爽爽爽人久久久| 亚洲成在线观看| 亚洲一线二线三线久久久| 国产欧美在线| 久色婷婷小香蕉久久| 亚洲国产日韩在线一区模特| 亚洲一区二区三区四区视频| 国产精品亚洲精品| 久久亚洲国产精品一区二区| 亚洲精品极品| 久久久久99| 99国产麻豆精品| 国产精品影院在线观看| 玖玖综合伊人| 一区二区三区产品免费精品久久75| 欧美亚洲三级| 亚洲欧洲一区二区在线播放| 国产精品欧美日韩久久| 久久视频这里只有精品| 99精品国产热久久91蜜凸| 久久丁香综合五月国产三级网站| 亚洲福利在线看| 国产精品乱码人人做人人爱| 久久亚洲精品中文字幕冲田杏梨| 一本一本久久| 久久久久久穴| 久久综合伊人77777麻豆| 亚洲精选大片| 久久久久综合一区二区三区| 日韩一级网站| 国产综合欧美在线看| 欧美欧美午夜aⅴ在线观看| 亚洲欧美欧美一区二区三区| 欧美成人精品在线播放| 午夜精品久久久久影视| 亚洲人成小说网站色在线| 国产视频在线一区二区| 欧美日韩国产区一| 久久综合婷婷| 欧美在线视频二区| 一区二区三区国产在线| 亚洲第一视频网站| 久久久久久久久久码影片| 欧美一区二区视频免费观看| 亚洲视频久久| 99视频一区二区| 亚洲欧洲精品一区二区三区| 精品69视频一区二区三区|