我正在寻找Ruby DSL(领域特定语言)的优秀示例。您知道哪些存储库,项目值得一读?为什么它(或者是它们)是很好的例子?
我对经过深思熟虑和设计的更复杂的例子特别感兴趣。
答案 0 :(得分:12)
Rake and Rack是DSL的一些很好的例子。如果您想了解更多示例,请查看以下内容:
如果你想开始制作自己的,这是一个很好的教程,叫做Building a DSL in Ruby。
答案 1 :(得分:3)
答案 2 :(得分:2)
另一个例子当然是Rake,Ruby构建系统。是什么让DSL在我看来“好”:
答案 3 :(得分:2)
您是否检查过Docile gem,这可能是满足您需求的最简单,最干净的方式?
答案 4 :(得分:1)
答案 5 :(得分:0)
Ruby on Rails的Active Record是一个DSL!
http://apidock.com/rails/ActiveRecord/Base
此代码学校的这一集可能很有趣,因为它导致构建DSL(我在那里学习Active Record是DSL)
http://www.codeschool.com/courses/ruby-bits-part-2
上述课程还讨论了外部和内部DSL。 Cucumber是一个外部DSL的示例,您需要构建解析器和编译器等.Active Record是在一些现有代码中运行的内部DSL的示例。