我對Ruby一無所知,但我對DSL很感興趣。 DSL似乎是你社區的熱門詞彙。Ruby DSL體驗?
爲了您自己的目的,您是否真的在Ruby中實現了DSL?如果是這樣,他們有多複雜和多麼敬業?
我在這裏看過這個question,但我更感興趣的是您的日常體驗。
謝謝。
我對Ruby一無所知,但我對DSL很感興趣。 DSL似乎是你社區的熱門詞彙。Ruby DSL體驗?
爲了您自己的目的,您是否真的在Ruby中實現了DSL?如果是這樣,他們有多複雜和多麼敬業?
我在這裏看過這個question,但我更感興趣的是您的日常體驗。
謝謝。
它的Ruby的特長,讓所有工作都能很快完成,但它可能會變得很難管理。我會說,對於中小型DSL項目,紅寶石非常棒。由於我還沒有在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的另一個例子,這就是所謂的郵件,它是用來發送電子郵件的一個DSL:
mail = Mail.new do
to '[email protected]'
from 'Mikel Lindsaar <[email protected]>'
subject 'First multipart email sent with Mail'
end
Rails是一個DSL,是一個巨大的項目。工作正常。 :) – horseyguy 2010-03-16 16:02:19
雅我知道,但他問我們的經驗,這就是爲什麼我說我不能推薦這個。 – RubyDubee 2010-03-16 16:14:37
我的問題是知道ruby開發者是否真的使用了這個特性。這是否成爲實施DSL解決問題的反射? – LB40 2010-03-16 17:46:55