另请注意内部和外部DSL之间的区别.
>内部域特定语言嵌入在编程语言中(例如Ruby).它易于实现,但DSL的结构取决于它所嵌入的父语言.>外部域特定语言是一种单独的语言,在设计时考虑了特定的域.它在语法方面为您提供了更大的灵活性,但您必须实现代码来解释它.它也更安全,因为编辑域规则的人无法访问母语的所有功能.