从 Java 到 Ruby

原文链接:http://www.ruby-lang.org/zh_cn/documentation/ruby-from-other-languages/to-ruby-from-java/


Java是成熟的语言。被广泛测试。同时也是敏捷的(反对Java的人群可能一直对此嗤之以鼻)。同时也很重量级。从Java到Ruby,能让你的代码量收缩下来。同时也可以花费更少的时间去推敲代码。

相似点

和Java一样,在Ruby的世界里,...
  • 程序员不用关心内存回收,ruby通过垃圾回收管理内存。
  • 都是强对象类型检查。
  • 都有 public, private, and protected方法。
  • 都有自带文档生成工具 (Ruby’s 的叫RDoc)。ruby的文档和java都超很相似。

不同点

和Java不一样,在Ruby的世界里,...
  • 不用编译程序,直接运行。
  • Ruby使用了不同的GUI开发工具。Ruby的用户可以使用WxRuby,FXRuby,Ruby-GNOME2,或者bundled-in工具。
  • Ruby使用结束关键字定义内容,如class,不使用“{}”来包含代码块。
  • 使用require代替import关键字。
  • 成员变量都是私有的。 在外部,只能通过方法访问成员变量。
  • 方法调用后的圆括号是可选的,往往省略。
  • 一切皆是对象,包括数字像2和3.14159。
  • Ruby没有静态类型检查。
  • 变量名只是一个标签,没有类型。
  • 没有类型声明。直接在需要的地方指定新的变量名 (i.e. a = [1,2,3]不是int[] a = {1,2,3};).
  • 没有类型转换,直接调用方法即可。你需要使用单元测试检测运行代码异常。
  • 创建对象通过foo = Foo.new( "hi"),而不是foo = new Foo( "hi" )。
  • 构造函数都命名为“initialize”,不在使用类名.
  • 使用“mixin’s”代替接口。
  • YAML 替代 XML
  • 使用nil代替 null。
  • == and equals() 的含义和java里相反. 使用==来判断两个对象是否相等(java里用equals())。 使用equals()判断两个对象是否是同一个对象(java里用==)。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值