Exercício – funções
Neste exercício, você tornará o código reutilizável. É um código que outro programador da sua equipe criou, mas seu trabalho é transformá-lo em funções.
Criar funções
Comece fazendo scaffolding de um novo projeto F# e, depois, transforme uma parte do código em uma função com parâmetros.
Crie um projeto F# executando
dotnet new.dotnet new console --language F# -o Functions cd FunctionsAgora que você tem um novo projeto, vamos dar uma olhada no código.
Este é o código do seu colega.
let no = card % 13 if no = 1 then "Ace" elif no = 0 then "King" elif no = 12 then "Queen" elif no = 11 then "Jack" else string noSubstitua o código padrão no arquivo Program.fs pelo seguinte código:
let cardFace card = let no = card % 13 if no = 1 then "Ace" elif no = 0 then "King" elif no = 12 then "Queen" elif no = 11 then "Jack" else string noA primeira linha desse código
let cardFace cardtransforma ele em uma função. Agora ele é uma função chamadacardface()que usa o parâmetrocard.Adicione o código a seguir abaixo da função
cardface().printfn "%s" (cardFace 11)Execute o projeto chamando
dotnet runno console.dotnet runAgora, a seguinte saída será exibida:
Jack
Parabéns! Você pegou uma parte do código que queria deixar reutilizável e transformou-a em uma função.
Adicionar tipos
Você transformou o código do seu colega em uma função. Para deixar esse código mais legível, você decide adicionar definições de tipo a ele.
Modifique sua função
cardface()existente para que ela tenha a seguinte aparência:let cardFace (card:int) = let no = card % 13 if no = 1 then "Ace" elif no = 0 then "King" elif no = 12 then "Queen" elif no = 11 then "Jack" else string noAgora execute o projeto
dotnet run.dotnet runAgora, a seguinte saída será exibida:
JackO código funciona da mesma forma e você o tornou mais claro, adicionando um tipo ao parâmetro de entrada.
Altere sua função
cardface()para que ela tenha a seguinte aparência:let cardFace (card:int) :string = let no = card % 13 if no = 14 || no = 1 then "Ace" elif no = 13 then "King" elif no = 12 then "Queen" elif no = 11 then "Jack" else string noNeste ponto, você adicionou um tipo de retorno à função
:string, o que significa que a função retorna uma cadeia de caracteres.Execute o projeto
dotnet run.dotnet runMais uma vez, você verá a seguinte saída:
Jack
Parabéns! Agora, o código contém tipos adicionados.