[英]Can I use dynamic types in F#?
.net4.0
mytest.py
def Add (a, b):
return a+b
我可以在C#4中使用它,如下所示:
ScriptRuntime runtime = Python.CreateRuntime();
dynamic script = runtime.UseFile("mytest.py");
Console.WriteLine(script.Add(1, 3));
但是,如何在F#中使用动态?
open System
open Microsoft.Scripting.Hosting
open IronPython.Hosting
let call a b=
let runtime = Python.CreateRuntime()
let script = runtime.UseFile("mytest.py")
script.Add(a,b)
nuget上有一个模块FSharp.Interop.Dynamic ,它使用dlr实现动态运算符。 以便:
open System
open Microsoft.Scripting.Hosting
open IronPython.Hosting
open EkonBenefits.FSharp.Dynamic
let call a b=
let runtime = Python.CreateRuntime()
let script = runtime.UseFile("mytest.py")
script?Add(a,b)
相对于其中的许多片段,它具有几个优点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.