【问题标题】:F# Create function at runtimeF# 在运行时创建函数
【发布时间】:2012-08-20 13:49:32
【问题描述】:

我知道它与 this SO questionthis one 有关,但我想知道是否(以及如何)可以在运行时创建新的 F# 函数。

我的意思是在不显示的情况下使用 REPL。除了 CodeDOM 和 Reflection 或 Quotations 还有其他选择吗?

如果在 F# 中不可行,是否可以在任何其他 .Net 语言中实现?

【问题讨论】:

    标签: .net function f#


    【解决方案1】:

    当然可以,这就是 DLR(动态语言运行时)的用途。 IronPython、IronRuby 和其他与您描述的完全一样的动态语言使用它。 DLR 只是一个库,因此您可以根据需要在 F# 中使用它。

    另一种选择是使用 F# 的高阶函数来实现类似的功能——这将非常灵活,但最终会稍微慢一些,因为 .NET CLR 无法以优化方式做太多(如果有的话) .

    【讨论】:

    • 谢谢。我只想为此使用 F#,但由于它可以在 C# 中使用,我将使用它,因为我的大部分应用程序都在 C# 中。
    猜你喜欢
    • 1970-01-01
    • 2014-03-15
    • 2012-07-02
    • 2014-12-03
    • 1970-01-01
    • 2018-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多