ruby的新颖之处

标题:ruby的新颖之处-ruby是完全面向对象的语言
1)构造器:ruby跟java一样,对象的生成需要一个构造器,不过语法有些不同。
ruby:
song1 = Song.new("Ruby Tuesday")
song2 = Song.new("Enveloped in Python")
java:
new Song("Ruby Tuesday")
new Song("Enveloped in Python")
ruby调用构造器是用new '方法',而java是用和类同名的'方法'
2)其他方法调用的例子
例1:"gin joint".length
例2:"Rick".index("c")
例3:1942.abs
例4:sam.play(song)
要是用java写,我想应该是这样:
例1:"gin joint".length
例2:"Rick".indexOf("c")
例3:Math.abs(1942)
例4:sam.play(song)
从中可以看出ruby的语法和思想概念更加面向对象。
在ruby里,一切都是对象,没有所谓的原始类型。比如这里的1942.abs。我不知道这样是好还是不好。相对来说,我更喜欢java的方式。提供原始类型的同时,也提供这些原始类型相对应的对象类型。think in java是这样解释为什么用原始类型的:原始类型用得相对平常,也就是用得多。考虑速度的问题,所以用栈来存储和操作要快多。而一般的对象是用堆来存储和操作的,速度要慢得多。
ruby的新颖之处-其他方面的一些东西
1:ruby不用表达式结束符,每一行都只有一条语句。
2:ruby以def作为方法声明的开始,而不用花括号括住方法体,只用一个end表示方法的结束。
3:ruby不必事先声明变量。
4:ruby方法中以最后表达式的值为返回值。
如这里:
def say_goodnight(name)
result = "Good night, " + name
return result
end
puts say_goodnight("JohnBoy")
puts say_goodnight("MaryEllen")
ruby不用表达结束符,每一行都只用一条语句,这种方式我很喜欢。在编写java代码的时候,我都很厌恶每一行有多于两个语句的,我觉得这样会降低代码的可读性。ruby的方法声明方式我不是很喜欢,没有了花括号,一旦方法的代码很长怎么办,可读性肯定差。ruby不必事先声明变量,这点感觉很javascript很像,灵活是灵活,但是一旦出现错误,找错误都要找半天。

ps:今天实在是累呀,去艺术学院跑了5圈操场,回来洗了澡就真想躺下睡觉了。可是今天老大交代的任务-熟悉soap和webservice-总得看看呀,艾,没办法,看吧。看到11点,太tmd累了。心想:睡吧,可是今天还没有看ruby呢。以前才给自己定的目标,每天至少看1小时的ruby。恩,继续,即使没什么效果,也要坚持,^_^,hoho,现在终于坚持住了。 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值