您可以使用 .net 内核运行 F# 脚本文件 (.fsx) 吗?

Posted

技术标签:

【中文标题】您可以使用 .net 内核运行 F# 脚本文件 (.fsx) 吗?【英文标题】:Can you run an F# script file (.fsx) using .net core? 【发布时间】:2017-08-20 01:51:43 【问题描述】:

是否可以使用 .net 内核运行 .fsx 文件? (相当于 Mono 上的 fsharpi。)

【问题讨论】:

你为此做了什么? 我尝试了fsi,但它在 .net core 上尚不可用 - 我听说团队将在某个阶段添加此功能。因此,目前我正在使用来自单声道的fsharpi @Martimatix 我知道这是一个老问题,但现在 .NETCore3 开箱即用,最好切换接受的答案 【参考方案1】:

它在 .NETCore v3.0 或更高版本中开箱即用:

$ cat hello.fsx
#!/usr/bin/env fsharpi
printfn "hello world"
$ dotnet fsi hello.fsx
hello world
$ dotnet --version
3.0.100

PS:旁注:如果您想编译您的脚本而无需运行它们,请查看this tool(抱歉,目前仅兼容 Linux/Mac,我们接受 PR 以添加 Windows 支持)。

【讨论】:

【参考方案2】:

我一直在寻找这个答案,我能找到的最佳答案与您从 3 月 28 日开始的@Martimatix 评论相匹配,但是我确实在跟踪 support for fsi on .NET Core 2.0 的 visualfsharp 存储库中找到了问题 2407。

更新(2009 年 4 月): 看起来现在有 .NET Core 的预览版可用。 https://devblogs.microsoft.com/dotnet/announcing-net-core-3-preview-3/

【讨论】:

【参考方案3】:

他们正在努力。 This is the main issue, jpierson 发布的相同。

你现在可以试试这样的:

dotnet /usr/share/dotnet/sdk/2.1.403/FSharp/fsi.exe test.fsx

它有点 / 有点工作,但缺少部分,特别是完全支持 #r 和交互式行编辑 (readline)。

【讨论】:

运气不好pwsh PS C:\Users\info\Projects\Insights> dotnet fsi .\experiment.fsx No executable found matching command "dotnet-fsi" PS C:\Users\info\Projects\Insights> dotnet fsi.exe .\experiment.fsx No executable found matching command "dotnet-fsi.exe" PS C:\Users\info\Projects\Insights> dotnet $(which fsi) .\experiment.fsx No executable found matching command "dotnet-/c/Program Files/dotnet/sdk/2.1.403/FSharp/fsi"

以上是关于您可以使用 .net 内核运行 F# 脚本文件 (.fsx) 吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 JDBC 执行 .sql 脚本文件 [重复]

更新面板 AJAX asp.net 后运行脚本

Linux一次在多个服务器运行命令

使用systemd在系统关闭时运行脚本

Linux内核程序入口地址

F# PSeq.iter 似乎并未使用所有内核