【发布时间】:2009-10-22 08:32:38
【问题描述】:
昨晚,我在思考我认为的高级 ruby 语言功能,即 Continuations (callcc) 和 Binding 对象。我的意思是高级,因为我有静态类型的 oo 语言背景(C#、Java、C++),我最近发现了 ruby,所以这些语言特性对我来说不是很熟悉。
我想知道这些语言功能的实际用途是什么。以我的经验,一切都可以用静态类型的oo语言来完成,但我有时不太聪明地同意。我想我发现了继续阅读 Sam Ruby 的那篇好文章的美丽/兴趣:http://www.intertwingly.net/blog/2005/04/13/Continuations-for-Curmudgeons
仍然,我迷失了 Binding 对象。有人可以为我提供一些真实世界的例子,这些例子可以用 Binding 对象巧妙地完成,但对于缺少 ruby Binding 概念的语言来说不是很聪明?
我正在考虑在长时间运行过程中出现问题时将一些对象回滚到它们的初始状态,但我不确定这是否可以使用 Binding 对象来实现,我认为可以通过在当处理过程中出现问题时,处理并用它们的克隆替换修改的对象。所以我认为这不是一个有效的例子。
提前感谢您的帮助。
【问题讨论】:
标签: ruby computer-science