2010-03-16 51 views
3

我對Ruby一無所知,但我對DSL很感興趣。 DSL似乎是你社區的熱門詞彙。Ruby DSL體驗?

爲了您自己的目的,您是否真的在Ruby中實現了DSL?如果是這樣,他們有多複雜和多麼敬業?

我在這裏看過這個question,但我更感興趣的是您的日常體驗。

謝謝。

回答

0

它的Ruby的特長,讓所有工作都能很快完成,但它可能會變得很難管理。我會說,對於中小型DSL項目,紅寶石非常棒。由於我還沒有在Ruby中創建任何大的DSL項目,我不能推薦它(對於更大的項目)。

+0

Rails是一個DSL,是一個巨大的項目。工作正常。 :) – horseyguy 2010-03-16 16:02:19

+0

雅我知道,但他問我們的經驗,這就是爲什麼我說我不能推薦這個。 – RubyDubee 2010-03-16 16:14:37

+0

我的問題是知道ruby開發者是否真的使用了這個特性。這是否成爲實施DSL解決問題的反射? – LB40 2010-03-16 17:46:55

2

我自己的經驗寫在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 
}