我在a third-party project上做了一些工作。該self.configure
塊是巨大的,並且包含了一些with
語句,例如:神祕的紅寶石語法(帶「字符串」)
def self.configure
with 'ead' do |node|
make :resource
end
ignore 'titlepage'
with 'archdesc' do
# etc
這看起來像某種方式建立在方法的參數部分switch語句,但我從來沒見過這種語法。這裏的任何人都知道發生了什麼事?
這是一個DSL。 https://en.wikipedia.org/wiki/Domain-specific_language非常常見。見Rspec。 – Ryanmt