使用匿名记录会导致语法错误:FS0010:意外符号'|'表达

时间:2019-05-24 11:10:33

标签: f#

我很想使用F#4.6匿名记录,但是编译器似乎并没有“得到它”。如何指定使用4.6?我已经尝试了很多谷歌搜索,但是没有关于如何实际告诉编译器使用最新版本(?)的文档。

开始一个新的open System [<EntryPoint>] let main argv = let myrec = {| X=3; Y=4 |} printfn "Hello World from F#! test %A" myrec 0 // return an integer exit code ,并尝试做一个虚拟的例子:

src/App/Program.fs(5,18): error FS0010: Unexpected symbol '|' in expression [src/App/App.fsproj]
src/App/Program.fs(5,17): error FS0604: Unmatched '{' [src/App/App.fsproj]

不起作用,因为:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.2</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <Compile Include="Program.fs" />
  </ItemGroup>

</Project>

我的App.fsproj:

{{1}}

1 个答案:

答案 0 :(得分:1)

结果证明我的 .NET Core运行时,它远远落后了。由于未针对MacOS发出警告,我没有安装最新版本,但现在我看到您需要MacOS不稳定版本才能支持F#4.6。

解决方案是直接转到https://dotnet.microsoft.com/download/dotnet-core/2.2并安装最新版本!