Python是一門非常優秀的語言,從Python遷移到Ruby,你將發現一些文法上的不同。
相似點
和Python一樣,在Ruby中,...
- 有一個互動提示 (叫做 irb).
- 你可以在命令列中讀取文檔 (通過ri 命令來替代
pydoc).
- 沒有特殊的結束一行的符號 (新行除外).
- 文字可以用多行,就像Python中的三個引號.
- List用[],Dict用{} (Dict在Ruby中叫“hashes”).
- Arrays的工作方式相同(2個Array相加成為一個更加長的Array,但是想這樣a3 = [ a1, a2 ] 合并,將產生一個包含數組的數組).
- Objects是有固定類型和動態轉換的.
- 一切都是object,變數名只是一個指向Object的指標.
- 雖然關鍵字不同, 但是exceptions的工作方式不變.
- 你擁有嵌入文檔的工具
(在Ruby中叫做rdoc).
不同點
與Python不同, 在Ruby中,...
- Strings是可以改變的。
- 你可以使用常量(常量的值是不同改變的)。
- 這裡有些強制規定的書寫要求 (例如:class的名字以大寫字母開頭, 變數名已小寫字母開頭)。
- 這裡只有一種容器(Array),
並且是可以改變的。
- 引號中的String限制不同。
- 這裡沒有新風格的Class,Class只有一種風格。
- 你無法直接存取屬性,在Ruby中,都是通過方法調用實現的。
- 在方法調用中使用(),是一種可選的策略。
- 這裡用private等等限制訪問的關鍵字,來替代Python中的名字隱藏。
- “mixin’s”用來替代多繼承。
- 你可以在任何時候修改已有的Class,並添加新的方法。
- 用true和false來替代True和False
(用nil來替代None)。
- 在判斷真值的時候,只有false和nil會被認為是假.其他所有的都認為是真(包括0, 0.0, "",和[])。
- 用elsif替代elif.
- 用require替代import. 但是用法是相同的。
- 用usual-style來注釋文檔(替代docstrings) 同時用來產生文檔。
原文地址:
http://www.ruby-lang.org/zh_CN/documentation/ruby-from-other-languages/to-ruby-from-python/