我对Ruby一无所知,但我对DSL很感兴趣。DSL似乎是你的社区的一个流行语。
您是否真的出于自己的目的在Ruby中实现了DSL?如果是这样的话,它们有多复杂,有多专注?
我在这里见过这个question,但我对你的日常体验更感兴趣。
谢谢。
发布于 2010-03-19 20:29:22
这是Ruby DSL的另一个例子,它被称为Mail,它是用于发送电子邮件的DSL:
mail = Mail.new do
to 'nicolas@test.lindsaar.net.au'
from 'Mikel Lindsaar <mikel@test.lindsaar.net.au>'
subject 'First multipart email sent with Mail'
end查看此处:http://github.com/mikel/mail
发布于 2010-03-17 00:01:03
我自己在Ruby中编写DSL的经验非常有限,但我已经做到了以下几点:
(1) L-系统DSL:
Dragon = TexPlay::LSystem.new {
rule "F" => "F"
rule "X" => "X+YF+"
rule "Y" => "-FX-Y"
angle 90
atom "FX"
}(2)图像处理工具:
image.paint {
circle 20, 20, 15, :color => :red
rect 10, 20, 100, 100, :color => :green
pixel 40, 40, :color => :white
}发布于 2010-03-16 23:56:30
这是Ruby的特长,让一切都能快速工作,但它可能会变得很难管理。我想说,对于小型或中型DSL项目,ruby是非常棒的。因为我还没有在Ruby中创建任何大型的DSL项目,所以我不能推荐它(对于更大的项目)。
https://stackoverflow.com/questions/2455365
复制相似问题