在Ruby中,当您设计嵌入式DSL时,一个非常有用的技巧是利用instance_eval
。这样,通过将它们作为特殊对象的私有方法实现,可以在某个块中提供特殊语句。这对于上下文的东西非常好。
有关示例,请参阅:https://robots.thoughtbot.com/writing-a-domain-specific-language-in-ruby
我想知道Scala EDSL中最接近的等价物是什么?更具体地说,我如何仅在由块分隔的特定上下文中提供部分语法?
答案 0 :(得分:0)
如果有人想知道:看起来这将通过所谓的隐式函数类型来解决。这是Martin Odersky自己对这个想法的一个很好的写作:https://www.scala-lang.org/blog/2016/12/07/implicit-function-types.html