24

是否有相当于.netLINQ 的表达式树JVM?我想在其中实现一些类似于 LINQ 的代码结构,Scala我想知道我是否还必须推出自己的表达式树库。

更新:我对 linq 等价物本身不感兴趣。.net 有大量的表达式树工具,可以轻松地在运行时动态编译代码,并且可以从您的代码中调用它。我要承接的项目与数据库无关。表达式树提供了一种简单的方法来描述对数据进行操作的代码。

如果没有库,我认为我的另一个选择是创建一个发出字节码的库。

4

2 回答 2

4

从 2.10 开始,Scala 有了宏,可以让您在编译时访问其参数的抽象语法树:http: //scalamacros.org/。以下是它们的一些用法示例,包括 LINQ 的草图: http: //scalamacros.org/paperstalks/2013-12-02-WhatAreMacrosGoodFor.pdf

于 2013-12-28T07:47:38.267 回答
1

我所知道的最接近的是 Julian Hyde 的linq4jOptiq库。它们具有表达式树模型,支持针对多种数据源的类似 LINQ 的编程模型(受 Java 语法约束)。

于 2014-03-10T13:53:36.070 回答