用于构建DSL的Ruby的instance_eval等效于Scala

时间:2016-07-18 19:20:39

标签: ruby scala dsl

在Ruby中,当您设计嵌入式DSL时,一个非常有用的技巧是利用instance_eval。这样,通过将它们作为特殊对象的私有方法实现,可以在某个块中提供特殊语句。这对于上下文的东西非常好。

有关示例,请参阅:https://robots.thoughtbot.com/writing-a-domain-specific-language-in-ruby

我想知道Scala EDSL中最接近的等价物是什么?更具体地说,我如何仅在由块分隔的特定上下文中提供部分语法?

1 个答案:

答案 0 :(得分:0)

如果有人想知道:看起来这将通过所谓的隐式函数类型来解决。这是Martin Odersky自己对这个想法的一个很好的写作:https://www.scala-lang.org/blog/2016/12/07/implicit-function-types.html

相关问题