最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

二十分鐘 教你Ruby快速入門 圖文教程

 更新時間:2007年10月20日 18:58:18   作者:  

!"將使用這個參數(shù)進行輸出。

大多數(shù)其它的編程語言使用循環(huán)遍歷列表,下面是C語言的循環(huán)示例:



上面的代碼顯然可以工作,但它不夠“優(yōu)雅”!你不得不用i這個多余的循環(huán)變量,還需要指出列表的長度,然后再解釋如何遍歷列表。

Ruby的迭代方式則更加優(yōu)雅,所有的內(nèi)部管理細節(jié)都隱藏在each方法中,你所需做的就是告訴它如何處理其中的每個成員。
塊(block),Ruby邊緣的高亮點!

塊(block)的真正優(yōu)勢在于:能夠處理比列表更加復(fù)雜的對象。除了在方法中可以處理簡單的內(nèi)部管理細節(jié)外,你還能處理setup、teardown和所有錯誤,而不讓用戶有所察覺。



say_bye方法沒有使用each,而是檢查@names是否具有join方法,如果具有join方法,則調(diào)用join方法。否則它將直接打印@names變量。

此方法并不關(guān)心變量的實際類型,這依賴于它所支持的那些被稱為“Duck Typing”的方法:duck typing是動態(tài)類型的一種形式:變量的值自身隱含地決定了了變量的行為。這暗示了某個對象與其它實現(xiàn)了相同接口的對象之間是可交換的,不管對象之間是否具有繼承關(guān)系。鴨子測試(duck test)是對duck typing的一種形象比喻——“如果它走路像鴨子,那么也一定像鴨子一樣呷呷地叫,那么它必定是一只鴨子”。duck typing是某些編程語言的特性:如Smalltalk, Python, Ruby, ColdFusion。

Duck Typing的益處是無需對變量的類型進行嚴格地限制,如果某人使用一種新類型的列表類,只要它實現(xiàn)了與其它列表相同語義的join方法,便可以拿來使用。

啟動腳本

文件上半部分是MegaGreeter類的代碼,而后面剩下的部分則是對這些類方法的調(diào)用。而這是我們最后值得注意的一點:



__FILE__是一個“具有魔力”的變量,它代表了當前文件名。$0是用于啟動程序的文件名。那么代碼“if __FILE__ == $0”便意味著檢查此文件是否為將被使用的主程序文件。這樣做可以使程序文件作為代碼庫使用,而不是可執(zhí)行代碼;但當此文件被用作執(zhí)行文件時,也可被執(zhí)行。

如何進一步學(xué)習(xí)Ruby

到此便是本入門的尾聲了。當然還有許多值得瀏覽的:Ruby提供的各種不同的控制結(jié)構(gòu);塊和yield的使用;模塊作為mixins使用等。希望這次Ruby初體驗?zāi)苁鼓銓uby更感興趣。

注:mixin在面向?qū)ο缶幊陶Z言中是一種提供某些功能給子類繼承的類,但mixin并不能實例化。從某個mixin繼承并不是什么特殊的形式,而它更適于收集功能。某個子類甚至可以通過繼承一個或者多個mixin選擇繼承它的全部或者多數(shù)功能。一個mixin能延期定義和綁定方法直到運行時,而屬性和實例參數(shù)也將在編譯時才被定義。這不同于多數(shù)常見的方式:定義所有的屬性、方法,并在編譯時進行初始化。

相關(guān)文章

最新評論

修文县| 常州市| 奈曼旗| 桦甸市| 青浦区| 太和县| 江孜县| 武冈市| 青冈县| 托克逊县| 中方县| 西林县| 拜城县| 湾仔区| 修武县| 泉州市| 探索| 碌曲县| 盐亭县| 东丽区| 措美县| 万荣县| 周口市| 陵水| 察雅县| 邻水| 海原县| 塔河县| 齐齐哈尔市| 乌什县| 天柱县| 元氏县| 商河县| 长汀县| 晋中市| 新泰市| 宁安市| 治县。| 嵊州市| 新沂市| 平果县|