如何在ubuntu上编译这段代码?

时间:2016-09-26 11:55:46

标签: ubuntu f#

这可能是一个简单的问题,但我将其作为一个问题发布,因为我无法弄明白。 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):“代码文件不以顶级模块声明或命名空间声明开头,文件的全部内容(包括任何本地模块)都成为隐式创建的一部分顶级模块,与文件同名,没有扩展名,第一个字母转换为大写。“

因此,没有必要将其声明为模块。但是,我也试过了,没有任何成功。

那么有人可以帮助我解决错误原因吗?

并进一步帮助我如何正确编译?

1 个答案:

答案 0 :(得分:4)

您似乎在fsharp之前调用了名为fsc的scala编译器 - 例如,请参阅此处error: expected class or object definition,查看带有该错误消息的问题,该错误消息不是来自F#编译器的错误消息。 / p>

在Linux上,F#编译器在许多发行版上被称为fsharpc以避免这个问题。