Ruby 的 instance_eval 在 Scala 中用于构建 DSL 的等价物

Ruby's instance_eval equivalent in Scala for building DSLs

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

示例见:https://robots.thoughtbot.com/writing-a-domain-specific-language-in-ruby

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

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