Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo aborda como você pode começar a usar o F# em qualquer sistema operacional (Windows, macOS ou Linux) com a CLI do .NET. Ele passa pela criação de uma solução de vários projetos com uma biblioteca de classes que é chamada por um aplicativo de console.
Pré-requisitos
Para começar, você deve instalar o SDK do .NET mais recente.
Este artigo pressupõe que você saiba como usar uma linha de comando e ter um editor de texto preferencial. Se você ainda não o usar, o Visual Studio Code será uma ótima opção como editor de texto para F#.
Criar uma solução simples de vários projetos
Abra um prompt/terminal de comando e use o novo comando dotnet para criar um novo arquivo de solução chamado FSharpSample:
dotnet new sln -o FSharpSample
A seguinte estrutura de diretório é produzida após a execução do comando anterior:
FSharpSample
├── FSharpSample.sln
Escrever uma biblioteca de classes
Altere os diretórios para FSharpSample.
Use o dotnet new comando para criar um projeto de biblioteca de classes na pasta src chamada Biblioteca.
dotnet new classlib -lang "F#" -o src/Library
A seguinte estrutura de diretório é produzida após a execução do comando anterior:
└── FSharpSample
├── FSharpSample.sln
└── src
└── Library
├── Library.fs
└── Library.fsproj
Substitua o conteúdo de Library.fs pelo seguinte código:
module Library
open System.Text.Json
let getJson value =
let json = JsonSerializer.Serialize(value)
value, json
Adicione o Library projeto à FSharpSample solução usando o comando dotnet sln add . Esse comando adiciona o projeto ao arquivo de solução para que a solução possa rastreá-lo e compilá-lo:
dotnet sln add src/Library/Library.fsproj
Execute dotnet build para compilar o projeto. As dependências não resolvidas serão restauradas na compilação.
Escrever um aplicativo de console que consome a biblioteca de classes
Use o dotnet new comando para criar um aplicativo de console na pasta src chamada App.
dotnet new console -lang "F#" -o src/App
A seguinte estrutura de diretório é produzida após a execução do comando anterior:
└── FSharpSample
├── FSharpSample.sln
└── src
├── App
│ ├── App.fsproj
│ ├── Program.fs
└── Library
├── Library.fs
└── Library.fsproj
Substitua o conteúdo do Program.fs arquivo pelo seguinte código:
open System
open Library
[<EntryPoint>]
let main args =
printfn "Nice command-line arguments! Here's what System.Text.Json has to say about them:"
let value, json = getJson {| args=args; year=System.DateTime.Now.Year |}
printfn $"Input: %0A{value}"
printfn $"Output: %s{json}"
0 // return an integer exit code
Adicione uma referência ao projeto Library usando dotnet reference add. Esse comando adiciona um <ProjectReference> elemento ao arquivo App.fsproj, que informa ao compilador que o projeto de aplicativo depende do projeto biblioteca:
dotnet add src/App/App.fsproj reference src/Library/Library.fsproj
O comando anterior adiciona o seguinte XML ao arquivo App.fsproj:
<ItemGroup>
<ProjectReference Include="..\Library\Library.fsproj" />
</ItemGroup>
Dica
Se você ignorar esta etapa e tentar criar o projeto de aplicativo, receberá um erro de compilação porque o Library módulo não será encontrado. Se isso acontecer, você poderá executar o dotnet add reference comando ou adicionar manualmente o <ProjectReference> elemento mostrado acima ao arquivo App.fsproj.
Adicione o App projeto à FSharpSample solução usando o dotnet sln add comando:
dotnet sln add src/App/App.fsproj
Restaure as dependências do NuGet com dotnet restore e execute dotnet build para compilar o projeto.
Altere o diretório para o projeto de console src/App e execute o projeto passando Hello World como argumentos:
cd src/App
dotnet run Hello World
Você deve ver o seguintes resultados:
Nice command-line arguments! Here's what System.Text.Json has to say about them:
Input: { args = [|"Hello"; "World"|] year = 2021 }
Output: {"args":["Hello","World"],"year":2021}
Próximas etapas
Em seguida, confira o Tour de F# para saber mais sobre diferentes recursos do F#.