昨天晚上,我想到了我认为的高级ruby语言功能,即继承(callcc)和绑定对象。我的意思是先进的,因为我有一个静态类型的oo langages背景(C#,Java,C++),最近我发现了ruby,所以这些语言特性对我来说并不是很熟悉。真实世界中使用绑定对象的红宝石
我想知道什么可能是真实世界使用这些语言功能。根据我的经验,任何事情都可以用静态类型的oo语言来完成,但我有时不太聪明。我想我已经找到了继续阅读Sam Ruby的漂亮文章的美丽/兴趣:http://www.intertwingly.net/blog/2005/04/13/Continuations-for-Curmudgeons
不过,我迷失在Binding对象中。有人能给我提供一些真实世界的例子,可以用Binding对象巧妙地完成某些事情,但是对于忽略ruby Binding概念的语言来说不是很聪明?
我在考虑在长时间运行过程中出现问题时将某些对象回滚到其初始状态,但我不确定这是否可以用Binding对象实现,我认为可以通过克隆对象在处理过程中出现错误时处理并用它们的克隆替换修改的对象。所以这不是我想的有效例子。
在此先感谢您的帮助。当你要评估ERB templates.
谢谢!这是对的!实现调试功能似乎是Binding对象的一种用法。我想知道这个调试功能是否被记录为镐书中绑定的一个例子。你能看到绑定对象的其他用途吗? – 2009-10-27 13:33:41
@dhruv这很漂亮。我想我会将它添加到我的实用程序包中,旁边的putsv(如果详细放置)等...谢谢! – Ryanmt 2014-01-30 00:12:28