作者godfat (godfat 真常)
看板Ruby
标题Re: [闲聊] 昨天看到的连结 10 Thing Java->Ruby
时间Thu Aug 17 14:33:45 2006
※ 引述《Schelfaniel (Test)》之铭言:
: http://onestepback.org/articles/10things/
: 这篇可以给目前是 Java Programmer 来看看和 Ruby 的差异性 ^_^
: eval 的部份, 其实 Ruby 的 eval 蛮强的,
: 除了标准的 eval 之外, 还有 class_eval 及 instance_eval...
: 另一个连结 :
: http://blog.rapidred.com/articles/2006/08/08/
: 10-things-java-should-steal-from-ruby
: 等同於 => http://rubyurl.com/ya3
之前想要 po 这个,差点忘记了 @@b
由於我书还没读完 XD 所以很多东西都还不知道
关於 Item #8 (Almost) Everything is a Message
这个就是我原本不知道的
class VCR
def initialize
@messages = []
end
def method_missing(method, *args, &block)
@messages << [method, args, block]
end
def play_back_to(obj)
@messages.each do |method, args, block|
obj.send(method, *args, &block)
end
end
end
我没想过原来 message 还可以用这种方式存起来…
这样一来的话,也可以自己处理 no method error 了
尤其就如同後面所说的,proxy, decorator, 等这些都会变得很容易做
Item #7: Ruby is Way More Dynamic Than You Expect
中的 hooks, 可以做很详尽的分析…应该也可以做一些很好玩的事
例如让你的语言跟真实物件完全对应、监听并反应所有的事件等
但话说回来,可以做到这种程度,效率的损失相信非常得大
虽然没有注意过测试数据,也没有实际测试过,但我想可能
会差到无法完全忽视的程度吧…?小程式就别说了,不知道
那种超大的网站用 Ruby 写会不会过慢…?
--
Nobody can take anything away from him.
Nor can anyone give anything to him.
What came from the sea,
has returned to the sea.
Chrono Cross
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.135.28.18