我需要手工构建Ruby DSL的哪些部分?

Cha*_*ier 3 ruby dsl domain-driven-design jruby

如果我想在Ruby 1.9或JRuby中构建DSL,我是否需要手动执行以下任何阶段:

  • 乐星
  • 解释
  • 解析
  • 及时编译

显然,作为一名程序员,我不喜欢尽可能多地编写实际代码,所以我希望这些步骤都不需要手工操作:)

Joh*_*ley 6

这一切都是使用元编程完成的.您不必执行任何列出的操作.Jamis Buck有一篇关于使用Ruby 编写领域特定语言的好文章.


Bar*_*cat 6

这取决于你想要什么.对于编写内部(读取:使用ruby语法)DSL,它一直都是红宝石.如果你想构建一个不使用ruby语法的DSL,你可以看一下treetop gem.

Jeremy Mcanally 对DSL很好的介绍.他经历了外部和内部DSL的事情.