在Scala中生成动态的预编译过滤谓词

我希望预编译一个过滤谓词,以用于大量数据。具体来说,我将通过用户提供的String类名动态解码protobuf对象,并允许用户基于进入基础对象的String路径生成谓词。例如,“ foo.bar.baz == 2”可能会编译为类似

的代码
class Filter {
  def test(in: Array[Byte]) = {
    Foo.parseFrom(in).getBar.baz == 2
  }
}

Scala中似乎有几个用于预编译代码的选项。您可以使用宏,可以使用Scalameta,似乎在谈论针对scala3的新Dotty编译器,也可以使用一些Java即时编译器。我的问题是,Scala中最可靠的代码生成过滤谓词方法是什么?我们目前使用2.12。我不想编写复杂的过滤器生成代码,而这些代码将在新版本的Scala中逐步淘汰。

a710262403 回答:在Scala中生成动态的预编译过滤谓词

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3150359.html

大家都在问