从Python到Ruby(翻译)

本文比较了Python和Ruby两种编程语言的相似之处与不同之处。两者都提供了交互式提示及文档查询功能,但在字符串可变性、类定义及方法调用等方面存在差异。

Python是一门非常优秀的语言,从Python迁移到Ruby,你将发现一些语法上的不同。

 

相似点

 

Python一样,在Ruby,...

  • 有一个交互提示 (叫做 irb).

  • 你可以在命令行中读取文档 (通过ri 命令来替代 pydoc).

  • 没有特殊的结束一行的符号 (新行除外).

  • 文字可以用多行,就像Python中的三个引号.

  • List[]Dict{} (DictRuby中叫“hashes”).

  • Arrays的工作方式相同(2Array相加成为一个更加长的Array,但是想这样a3 = [ a1, a2 ] 合并,将产生一个包含数组的数组).

  • Objects是有固定类型和动态转换的.

  • 一切都是object,变量名只是一个指向Object的指针.

  • 虽然关键字不同, 但是exceptions的工作方式不变.

  • 你拥有嵌入文档的工具 (Ruby中叫做rdoc).

 

不同点

 

Python不同, Ruby,...

  • Strings是可以改变的。

  • 你可以使用常量(常量的值是不同改变的)

  • 这里有些强制规定的书写要求 (例如:class的名字以大写字母开头, 变量名已小写字母开头)

  • 这里只有一种容器(Array), 并且是可以改变的。

  • 引号中的String限制不同。

  • 这里没有新风格的ClassClass只有一种风格。

  • 你无法直接访问属性,在Ruby中,都是通过方法调用实现的。

  • 在方法调用中使用(),是一种可选的策略。

  • 这里用private等等限制访问的关键字,来替代Python中的名字隐藏。

  • “mixin’s”用来替代多继承。

  • 你可以在任何时候修改已有的Class,并添加新的方法。

  • truefalse来替代TrueFalse (nil来替代None)

  • 在判断真值的时候,只有falsenil会被认为是假.其他所有的都认为是真(包括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/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值