文章:在 Ruby 中对字符串和 block 求解

  • 霍泰稳

2007 年 8 月 24 日

话题:Ruby语言 & 开发架构

Jay Fields 是 ThoughtWorks 的一位开发人员,总是在寻找令人兴奋的新技术,并愿意马上采用这些技术。。他以在业务自然语言方面的前沿工作而著称,在本文中他结合代码叙述了如何在 Ruby 的对事项领域特定语言的环境中使用 eval、class_eval 和 instance_eval 等方法。

本文通过代码展示了开始定义 DSL 所需的一些步骤。创建 DSL 是很有挑战性的工作,但同时会带来很多好处。通过 DSL 来表达业务规则,所带来的好处是可以在多种上下文中执行这些业务规则。如上述示例所展示的,通过在不同上下文中执行 DSL,可以从同一个业务规则产生多种不同的行为。当业务规则随着时间推移而改变时,系统中所有引用该业务规则的构成部分都会随之发生变化。而对 Ruby 求解方法的利用,就是成功实现这种效果的关键。

本文中,作者深入浅出地提出来使用 Ruby 提供的多种求解方法,帮助我们创建简练、可读的代码。同时,这些求解方法也提供了创建诸如领域特定语言之类强大工具的能力。

阅读全文:在 Ruby 中对字符串和 block 求解

Ruby语言 & 开发架构