scripting - 在较大的应用程序中托管 .fsx 脚本

标签 scripting f# interactive

我想将我的 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/

相关文章:

windows - 如何将主机名存储在 .bat 文件的变量中?

bash - 当我将脚本从 sublime 复制到 shell 时输出奇怪,但是当我逐行复制时工作正常

linux - Cut 对我来说是错误的,说它不是文件或目录。我如何使用它来 grep "on"(见下文)

f# - 列表 except - 过滤不等于另一个列表的任何 item.A 的字符串序列

f# - 以编程方式启动 Mono 进程

r - R 中使用 rggobi 的交互式图形

linux - 包含条件和参数的表 ?在哪里?

f# - F# 对象表达式中的可变状态

file - Emacs 口齿不清 : Concise way to get `directory-files` without "." and ".."?

python - 如何使用 Python 启动交互式 Docker 容器?