成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

深入探討Ruby與Python語法比較

開發(fā) 開發(fā)工具
我們希望大家可以通過對Ruby與Python語法比較,能夠充分的掌握Ruby語法的應(yīng)用,更深一步的了解到Ruby語法的含義。

編程語言種類繁多,但是每種語言都有自己的特點(diǎn),又和其他語言有共通性。比如PHP語言就和C語言相似。我們今天介紹的就是Ruby與Python語法比較。#t#

其實(shí)Ruby和Python非常接近,比大多數(shù)別的語言要接近的多,所以喜歡用啥就用啥(大實(shí)話,雖然也是廢話)。語法上的差別雖然有那么一點(diǎn),大部分是syntax sugar,我斗膽稍微列幾個(gè)(python我也忘得差不多了,不對的大家盡管來鞭尸吧),但是主要差異還是設(shè)計(jì)思想上的:靈活vs明確. 我不認(rèn)為兩者在生產(chǎn)力上會(huì)有什么差別,如果你熟悉的話。*注意,僅限語言本身的比較。

Ruby與Python語法比較的列表

1. Ruby的case可以匹配很多東西:范圍/數(shù)組,對象,正則表達(dá),python沒有case/switch而使用if/else比較死板點(diǎn)

2. python的縮進(jìn)很漂亮,雖然有時(shí)會(huì)造成些許麻煩。Ruby的end蠻難看的,所以大家都被逼當(dāng)one liner(玩笑)

3. 感覺上Ruby比python更OO,當(dāng)然這也可能是因?yàn)閜ython不提倡用那些改變對象內(nèi)部構(gòu)造的‘伎倆’造成的錯(cuò)覺

4. python有l(wèi)ist comprehension, Ruby沒有:(

5. python有真正的keyword argument, Ruby用hash模擬,當(dāng)然實(shí)際用起來沒什么差別

6. python的self很討厭,Ruby沒有那種繁瑣的東西

7. reflection,Ruby內(nèi)置了很多方法,比如object.methods,而python把這些信息存在特殊的字典里。差不多

8. Ruby的block功能很強(qiáng),python的lambda只能返回單一值

9. Ruby與Python語法比較下,Ruby的open class已經(jīng)聲明遠(yuǎn)播,可以玩出2.days.ago這樣的花樣,python好像沒法直接修改內(nèi)置類也反對這么做。

10. python需要用@classmethod修飾聲明類方法,Ruby是內(nèi)建

11. Ruby有單子方法,也就對對象單獨(dú)定制,python不知道有沒有類似概念

12. Ruby有method_missing機(jī)制,python可以使用__getattr__截獲未定義方法(from qiezi)

13. Ruby使用單繼承+mixin,python使用多重繼承,不過python也有mixin

14. Ruby有attr_*系列語法helper,省卻自己寫一堆setter/getter, python的property方法還是得自己寫setter/getter

15. Ruby和python都使用duck typing,不過python也有一套顯式的interface機(jī)制(從zope3并入內(nèi)核了么?)

16. Ruby的函數(shù)調(diào)用括號(hào)是可省的,稍微少敲幾下鍵盤。python默認(rèn)沒括號(hào)也不帶參數(shù)的話返回函數(shù)本身的一個(gè)引用。

17. 我不清楚python的meta programming能到什么程度,只好等大牛來說說了。只是覺得pythoner不常用那個(gè),也許覺得會(huì)把程序邏輯搞得晦澀不明。

18. Ruby從perl繼承了一部分難看的東西,比如很多預(yù)定義的$x常量

19. Ruby內(nèi)建正則表達(dá),方便一點(diǎn)

20. Ruby的yield是用來call block的。而python的yield是用來給generator輸入輸出值的。

21. python的庫給我感覺命名規(guī)范有點(diǎn)不統(tǒng)一,有些方法用snake_case有些則用CamelCase,也許是庫太多了遺留下的歷史問題

22. python的三引號(hào)很漂亮,Ruby的<<-XX...XX太難看了,也可以用%q{...}包裹多行文字(from qiezi)

23. Ruby的類庫設(shè)計(jì)中喜歡給方法添加別名,方便記憶。

另: Ruby官方網(wǎng)站也提供了一些基本的Ruby與Python語法比較。

責(zé)任編輯:曹凱 來源: 百度博客
相關(guān)推薦

2009-12-14 14:40:10

Ruby全局域變量

2009-12-16 16:44:31

Ruby on Rai

2009-12-23 16:13:00

WPF Attache

2010-03-05 13:44:00

Python序列

2010-07-21 09:38:15

PHP緩存技術(shù)

2010-11-22 14:18:32

MySQL鎖機(jī)制

2009-11-20 17:17:08

Oracle函數(shù)索引

2021-05-17 05:36:02

CSS 文字動(dòng)畫技巧

2009-08-27 11:27:58

foreach語句C# foreach語

2023-01-12 17:18:06

數(shù)據(jù)庫多云

2011-02-25 09:23:00

Java類加載器

2015-09-02 08:57:56

JavaHashMap工作原理

2010-03-31 14:58:03

云計(jì)算

2024-05-11 08:20:23

2013-07-11 09:45:48

扁平化扁平化設(shè)計(jì)

2012-02-28 14:43:43

2009-10-16 09:17:39

屏蔽布線系統(tǒng)

2009-12-07 16:07:03

PHP類的繼承

2009-12-07 13:55:58

PHP array_m

2009-11-12 13:56:54

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 亚洲色图在线观看 | 亚洲电影一级片 | 国产视频中文字幕 | 日韩精品一区二区三区中文在线 | 欧美亚洲在线 | 亚洲精品视频免费 | 黄色大全免费看 | 亚洲免费视频播放 | 成人国产精品免费观看视频 | 成人免费视频观看视频 | 日日草天天干 | 欧美一区不卡 | 久久精品视频一区二区三区 | 国产精品免费视频一区 | 天天操天天干天天爽 | 毛片的网址 | 欧美a在线 | 91精品国产91久久综合桃花 | 精品免费在线 | 黄色高清视频 | 国产偷自视频区视频 | 国产一区二区在线免费观看 | 在线观看国产视频 | 中文字幕综合 | 国产欧美三区 | 日韩欧美网 | 午夜电影在线播放 | 91精品国产91久久久久游泳池 | 91成人午夜性a一级毛片 | 亚洲精品18 | 91精品久久久久久久久久 | 不卡欧美 | 81精品国产乱码久久久久久 | 日韩视频在线观看中文字幕 | 韩日视频在线观看 | 欧美xxxⅹ性欧美大片 | 日本大香伊一区二区三区 | 视频二区国产 | 久久国产精品精品国产色婷婷 | 中文字幕蜜臀av | 国产精品久久久久久久久久 |