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

Ruby和Python的語法比較

開發 開發工具
Ruby和Python語言有很多相近之處,本文總結了這些相近和不同的語法。兩者語法上的差別大部分是syntax sugar。

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

51CTO編輯推薦:Ruby入門教程與技巧大全

Ruby和Python的比較列表

1. ruby的case可以匹配很多東西:范圍/數組,對象,正則表達,python沒有case/switch而使用if/else比較死板點

2. python的縮進很漂亮,雖然有時會造成些許麻煩。ruby的end蠻難看的,所以大家都被逼當one liner(玩笑)

3. 感覺上ruby比python更OO,當然這也可能是因為python不提倡用那些改變對象內部構造的‘伎倆’造成的錯覺

4. python有list comprehension, ruby沒有:(

5. python有真正的keyword argument, ruby用hash模擬,當然實際用起來沒什么差別

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

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

8. ruby的block功能很強,python的lambda只能返回單一值

9. ruby的open class已經聲明遠播,可以玩出2.days.ago這樣的花樣,python好像沒法直接修改內置類也反對這么做。

10. python需要用@classmethod修飾聲明類方法,ruby是內建

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

12. ruby有method_missing機制,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機制(從zope3并入內核了么?)

16. ruby的函數調用括號是可省的,稍微少敲幾下鍵盤。python默認沒括號也不帶參數的話返回函數本身的一個引用。

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

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

19. ruby內建正則表達,方便一點

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

21. python的庫給我感覺命名規范有點不統一,有些方法用snake_case有些則用CamelCase,也許是庫太多了遺留下的歷史問題

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

23. ruby的類庫設計中喜歡給方法添加別名,方便記憶。

另: ruby官方網站也提供了一些Ruby和Python基本的比較。

【編輯推薦】

  1. Ruby使用心得匯總:尋找高效的實現
  2. Ruby on Rails入門之道
  3. Ruby on Rails 2.3.3發布 主要修復Bug
  4. Ruby on Rails開發的五點建議
  5. 淺談Ruby和JRuby的學習
責任編輯:yangsai 來源: 百度空間
相關推薦

2020-08-19 10:29:08

RubyJava語法

2009-12-14 13:33:49

Ruby與Python

2011-07-21 13:21:32

PHP

2010-03-11 11:10:14

Python函數式

2010-03-10 19:46:07

Python編程語言

2009-12-14 13:47:28

Ruby簡單語法

2009-12-18 15:56:05

Ruby特殊語法

2021-11-28 18:07:44

PythonRuby編程

2014-06-19 10:48:18

RubyPython

2009-12-18 15:06:10

Ruby常用庫

2009-07-17 17:49:39

JRuby學習

2009-09-09 17:45:25

Ruby的blocks

2009-08-17 10:08:24

2012-06-11 09:44:10

微軟AzurePython

2009-07-06 16:01:52

ASP與JSPJSP功能

2021-10-27 14:20:00

CrystalRuby編程語言

2022-11-10 16:00:21

Python機器學習編程語言

2020-07-27 08:24:42

編程語言C語言Java

2009-07-01 10:30:00

Ruby on Rai

2011-03-24 12:57:03

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久成人高清视频 | 精品少妇一区二区三区在线播放 | 国产综合久久 | 亚洲成人天堂 | 国产综合精品一区二区三区 | 国产精品美女久久久久久免费 | 久久国产精品精品 | 国产日韩欧美 | 欧美亚州 | 99久久99久久精品国产片果冰 | 欧美一区二区在线免费观看 | 欧美区在线 | 欧美激情网站 | 精品欧美一区免费观看α√ | 日韩精品在线观看免费 | 日韩欧美在线不卡 | 日韩午夜激情 | 91影片| 国产精品1区2区3区 国产在线观看一区 | 午夜爽爽爽男女免费观看影院 | 国产福利在线 | 九九99精品| 欧美久久久久 | 国产成人一区二区三区 | 最新中文字幕在线 | 亚洲三级av | 91精品国产91久久久久久吃药 | 中文字幕在线网 | 亚洲一区二区三区在线 | 国产国产精品久久久久 | 国产大学生情侣呻吟视频 | 久草在线青青草 | 男女羞羞视频免费 | 日本电影韩国电影免费观看 | 日韩精品一区二区三区中文在线 | 国产一二三区精品视频 | 欧美日韩在线观看一区 | 日日摸夜夜添夜夜添精品视频 | 最新免费视频 | 欧美激情欧美激情在线五月 | 黄色av大片|