Ruby DSL体验?

Ruby DSL体验?,ruby,dsl,dsel,Ruby,Dsl,Dsel,我对Ruby一无所知,但我对DSL很感兴趣。DSL似乎是你们社区的热门词汇 您是否真的为了自己的目的在Ruby中实现DSL?如果是,它们有多复杂,有多专注 我在这里见过,但我对你的日常经验更感兴趣 谢谢。这是Ruby的特长,可以让一切都很快工作,但它可能会变得很难管理。我想说,对于中小型DSL项目来说,ruby是非常棒的。由于我没有在Ruby中创建任何大型DSL项目,我不能推荐它(对于更大的项目)。我自己在Ruby中编写DSL的经验非常有限,但我做了以下工作: (1) L系统DSL: Drago

我对Ruby一无所知,但我对DSL很感兴趣。DSL似乎是你们社区的热门词汇

您是否真的为了自己的目的在Ruby中实现DSL?如果是,它们有多复杂,有多专注

我在这里见过,但我对你的日常经验更感兴趣


谢谢。

这是Ruby的特长,可以让一切都很快工作,但它可能会变得很难管理。我想说,对于中小型DSL项目来说,ruby是非常棒的。由于我没有在Ruby中创建任何大型DSL项目,我不能推荐它(对于更大的项目)。

我自己在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
}

下面是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
mail=mail.new do
到nicolas@test.lindsaar.net.au'
来自“Mikel Lindsaar”
主题“随邮件发送的第一封多部分电子邮件”
结束

请参见此处:

Rails是一个DSL,是一个庞大的项目。工作正常。:)是的,我知道,但他问我们的经验,这就是为什么我说我不能推荐这个。我的问题是知道ruby开发者是否真的在使用这个功能。这是否成为实现DSL来解决问题的反射?@LB,是的,ruby开发人员经常使用它。@banister,他们在做什么是我的问题?:-)。一般来说,问这个问题是没有意义的,但我对他们每个人都在做什么感兴趣(我不确定我的句子在语法上是否正确,希望你能理解:-))。