非常第一行写sinatra的是用Ruby以最小的代价快速创建web应用的DSL.我可以理解它重量轻,非常灵活,可以快速创建Web应用程序并且只需很少的工作量但无法理解它是如何成为DSL的?
原因之一是它在其域内将动作(“动词”)定义为方法,例如:
get '/hi' do
"Hello World!"
end
Run Code Online (Sandbox Code Playgroud)
Sinatra在这里将来自其域的动作(即HTTP请求方法“ GET”)合并到其“ vocabulary”中。
(类似于围绕银行建立库并定义诸如account或之类的方法customer。)
这更多地是关于DSL的真正定义吗?