编程从 Python 到 Ruby转型的异同点
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了编程从 Python 到 Ruby转型的异同点,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2457字,纯文字阅读大概需要4分钟。
内容图文
Ruby 是……
一门开源的动态编程语言,注重简洁和效率。Ruby 的句法优雅,读起来自然,写起来舒适。
当您初次看到 Ruby 语言代码的时候,它很可能让您想起您使用过的其他编程语言。这是当然的, 因为 Ruby 的大部分语法是 Perl、Python 和 Java(以及其他语言)的用户所熟悉的。 如果您曾经使用过这这些语言,学习 Ruby 就是小菜一碟。
Python 是......
另一个很好的通用编程语言。从 Python 到 Ruby,你会发现 Ruby 需要学习更多一点的语法。
相似点
Ruby 与 Python 一样的地方……
- 有交互式命令解释器(叫做
irb
)。 - 可以在命令行阅读文档(使用
ri
命令代替 Python 的pydoc
)。 - 没有特殊的行终结符(除了通常的换行符)。
- 与 Python 的三个引号类似,字符串字面量可以跨越多行。
- 方括号用于列表,大括号用于字典(Ruby 中叫做 哈希)。
- 数组操作相同(数组相加,会得到一个长数组;a3 = [a1, a2] 会得到一个二维数组)。
- 对象是强、动态类型。
- 一切皆是对象,变量只是对象的引用。
- 尽管关键字有些许不同,但异常处理方式是一致的。
- 拥有嵌入式文档工具(Ruby 的工具叫 rdoc)。
- 同样好地支持函数式编程,比如:一级类型函数,匿名方法和闭包。
相异点
Ruby 与 Python 不同的地方……
- 字符串是可变类型。
- 可以新建常量(无意改变的变量)。
- 有一些强制习惯用法(例如:类名以大写字母开头,变量以小写字母开头)。
- 只有一种列表容器,且是可变类型。
- 双引号字符串可以转义(像
\t
),有特殊的“替代表达式”语法(不用像"字符串" + "相" + "加"
这样,允许插入 Ruby 表达式结果到其他字符串)。单引号字符串与 Python 的r"原始字符串"
一样。 - 没有什么“新式”或者“旧式”类定义写法。只有一种写法( Python 3 以上的版本没有这个问题,但不能向下兼容 Python 2)。
- 不能直接访问属性。但在 Ruby 中,一切皆方法调用。
- 方法调用的括号是可选的。
- 有 public、private、protected 三种强制的访问控制类型,不像 Python 里面是用变量名加下划线表示。
- “混入(mixins)”替代多重继承。
- 你可以增加或修改内置类的方法。俩语言都允许你随时打开、修改类,但 Python 无法修改内置类,Ruby 无此限制。
true
和false
代替True
和False
(nil
代替None
)。- 判断真值时,只有
false
和nil
当做假值。其余一切皆为真(包括0
、0.0
、""
和[]
)。 elsif
代替了elif
require
替代import
。其他情况,使用相同。- 通常,代码之上(而不是之下的字符文档)的注释用来生成文档。
- 虽然有很多语法糖需要记忆、学习,这也使得 Ruby 非常有趣且有效率。
- 变量设置后无法取消(类似 Python 的
del
声明)。你可以将其重置为nil
让 GC 回收旧的内容,但它仍然存在于符号表中。 yield
关键字作用是不一样的。在 Python 中,它会记住上一次返回时在函数体中调用的位置。外部代码有责任继续执行函数。而在 Ruby 中,yield
会执行作为方法最后一个参数传入的方法,然后立即执行。- Python 支持一种匿名函数,
lambdas
。而 Ruby 支持blocks
,Procs
和lambdas
。
内容总结
以上是互联网集市为您收集整理的编程从 Python 到 Ruby转型的异同点全部内容,希望文章能够帮你解决编程从 Python 到 Ruby转型的异同点所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。