从Python到Ruby(翻译)

本文对比了Python和Ruby两种编程语言的相似之处与不同之处。两者都提供了交互式提示及文档查询功能,但在字符串处理、常量使用、命名规范等方面存在差异。
rel="File-List" href="file:///C:%5CDOCUME%7E1%5COwner%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml">

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/

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值