首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby DSL体验?

Ruby DSL体验?
EN

Stack Overflow用户
提问于 2010-03-16 22:53:19
回答 3查看 533关注 0票数 3

我对Ruby一无所知,但我对DSL很感兴趣。DSL似乎是你的社区的一个流行语。

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

我在这里见过这个question,但我对你的日常体验更感兴趣。

谢谢。

EN

回答 3

Stack Overflow用户

发布于 2010-03-19 20:29:22

这是Ruby DSL的另一个例子,它被称为Mail,它是用于发送电子邮件的DSL:

代码语言:javascript
复制
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

票数 3
EN

Stack Overflow用户

发布于 2010-03-17 00:01:03

我自己在Ruby中编写DSL的经验非常有限,但我已经做到了以下几点:

(1) L-系统DSL:

代码语言:javascript
复制
Dragon = TexPlay::LSystem.new {
    rule "F" => "F"
    rule "X" => "X+YF+"
    rule "Y" => "-FX-Y"
    angle 90

    atom "FX"
}

(2)图像处理工具:

代码语言:javascript
复制
image.paint {
    circle 20, 20, 15, :color => :red
    rect 10, 20, 100, 100, :color => :green
    pixel 40, 40, :color => :white
}
票数 2
EN

Stack Overflow用户

发布于 2010-03-16 23:56:30

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2455365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档