我遇到了“引用”这个词,我试图找出一些实际使用它的例子。为每个代码表达式使用 AST 的能力听起来很棒,但如何在现实生活中使用它呢?
有谁知道这样的例子?
最佳答案
我认为引用在 F# 和 Nemerle 中有完全不同的用途。在 F# 中,您不使用引号来扩展 F# 语言本身,而是使用它们来获取一些用标准 F# 编写的程序的 AST(代码的数据表示)。
在 F# 中,这是通过在 <@ ..F# code.. @>
中包装一段代码或通过向函数添加特殊属性来完成的:
[<ReflectedDefinition>]
let foo () =
// body of a function (standard F# code)
Robert 已经提到了这种机制的一些用途 - 您可以获取代码并将 F# 转换为 SQL to query database ,但还有其他几种用途。例如,您可以:
关于c# - 报价实际用途,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7529496/