【发布时间】:2016-09-26 23:59:15
【问题描述】:
这可能是一个简单的问题,但我将其作为一个问题发布,因为我无法弄清楚。 stackoverflow 上的某处可能存在重复项,但我找不到任何内容。我正在使用 Visual Studio 代码在 ubuntu 上编写代码。
这是我的 test.fs 文件的内容:
open System
(*print*)
let main() =
Console.WriteLine("hello")
main()
我想在终端上编译它。我知道编译器在那里,因为我可以从中运行交互式 F# 会话。我得到这个错误对于每一行(4)
error: expected class or object definition
这让我相信这是一个命名空间/包问题,我认为这是 F# 中的一个模块。但是,我发现了这一点(https://docs.microsoft.com/en-us/dotnet/articles/fsharp/language-reference/modules):“代码文件不以顶级模块声明或命名空间声明开头,文件的全部内容,包括任何本地模块,都成为隐式创建的顶级模块的一部分-与文件同名的级别模块,不带扩展名,首字母转换为大写。”
因此,不必将其声明为模块。但是,我也尝试过,但没有任何成功。
那么有人可以帮助我解决错误原因吗?
并进一步帮助我如何正确编译?
【问题讨论】:
-
如果你在这里没有得到帮助;你也可以试试 askubuntu。
-
兴趣:您是否知道您可以在 Windows 10 上使用 Ubuntu bash 执行 F#(使用单声道),而无需使用虚拟机。请参阅:Bash on Ubuntu on Windows。