它们是否与scala中的C#Expression API相当?
例如,我想要像这样的lambda:
(Foo) => Foo.bar
Run Code Online (Sandbox Code Playgroud)
并能够在传递给它的函数中访问"bar".
Scala不支持此功能.ScalaQL:Scala的语言集成数据库查询描述了Scala中类似LINQ的功能:
虽然微软可以通过这一特定功能简单地扩展他们的语言,但低级应用程序开发人员并不是那么幸运.例如,由于所需的语言修改,任何人(Sun Microsystems之外)都无法在Java中实现任何形式的LINQ.我们在尝试在Scala中实现LINQ时遇到了类似的问题.
幸运的是,即使不添加对表达式树的支持,Scala实际上也足以实现LINQ的形式.通过运算符重载,隐式转换和受控的逐个名称语义的组合,我们能够实现相同的效果,而无需对语言本身进行任何更改.
| 归档时间: |
|
| 查看次数: |
1293 次 |
| 最近记录: |