我想将我的 F# 库公开为用于数据操作的可编写脚本的工具。
最理想的是,我希望这个脚本工具不需要使用 fsi 等进行完整的 F# 安装。
有没有办法链接到 FSI 库以从 F# 代码执行脚本?我的 google-fu 在这方面让我失望,fsi 的 F# 源代码有点困惑。
最佳答案
不,没有用于 F# 交互式 session 的托管 API。 fsi.exe 本身被分解为处理交互的轻量级客户端进程和执行繁重工作的后台服务器进程。 (服务器进程构建在 F# 编译器 DLL 之上,这就是为什么您需要完整安装 F#,而不仅仅是 F# 运行时 redist。顺便说一句,为此公开 API 是一个有点常见的请求,F# 团队会考虑以备将来发布。)
也就是说,如果客户端确实完整安装了 F#,那么您始终可以只提供一些脚本(.fsx 文件)客户端可以 #load
,或客户端可以使用的库(.dll 文件)#r
开始他们的互动 fsi session 。这绝对是使用 F# 交互进行数据操作和探索的好模式。
关于scripting - 在较大的应用程序中托管 .fsx 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2223766/