为什么sinatra是DSL?

Man*_*wat 8 ruby sinatra

非常第一行sinatra是用Ruby以最小的代价快速创建web应用的DSL.我可以理解它重量轻,非常灵活,可以快速创建Web应用程序并且只需很少的工作量但无法理解它是如何成为DSL的?

TK-*_*421 5

原因之一是它在其域内将动作(“动词”)定义为方法,例如:

get '/hi' do
  "Hello World!"
end
Run Code Online (Sandbox Code Playgroud)

Sinatra在这里将来自其域的动作(即HTTP请求方法“ GET”)合并到其“ vocabulary”中。

(类似于围绕银行建立库并定义诸如account或之类的方法customer。)

这更多地是关于DSL的真正定义吗?