F# Enumerações

Enumerações F# são conjuntos de constantes de valor que podem ser nomeados de diferentes maneiras.

F# Enumeration é um dos tipos especiais de dados , que representa um tipo fixo de conjunto de valores nomeados que são armazenados dentro.

Um conjunto de enumerações pode ser pensado como uma maneira fácil e concisa de mapear e manipular conjuntos de valores com um domínio claramente definido e limitado, definindo e trabalhando com eles.

Você aprenderá sobre as várias maneiras pelas quais as enumerações do F# podem ser utilizadas para melhorar a legibilidade, manutenção e segurança de tipo do seu código. Aproveitando os benefícios das enumerações, você pode escrever um código mais robusto e sem erros, mais fácil de entender e manter.



Definir Enumerações F#

Uma enumeração em F# é definida usando a palavra-chave type seguida pelo nome da enumeração e os valores que ela contém.

Os valores de uma enumeração são definidos usando o | operador e são separados por ponto e vírgula.

Uma enumeração pode ser declarada da seguinte maneira:

type enum-name =
| value1 = integer-literal1
| value2 = integer-literal2
...

O exemplo a seguir ilustra como as enumerações podem ser usadas para representar dados:

Example: 

1
12345678910111213141516171819202122232425262728293031323334353637383940// Declaration of an enumeration.type DayOfWeek = | Mon | Tues | Wed | Thurs | Fri | Sat | Sunlet printDayOfWeek (day: DayOfWeek) = match day with | Mon -> "Monday" | Tues -> "Tuesday" | Wed -> "Wednesday" | Thurs -> "Thursday" | Fri -> "Friday" | Sat -> "Saturday" | Sun -> "Sunday"// Use of an enumeration.let weekend1 : DayOfWeek = DayOfWeek.Satlet weekend2 : DayOfWeek = DayOfWeek.Sunlet weekDay1 : DayOfWeek = DayOfWeek.Monlet weekDay2 : DayOfWeek = DayOfWeek.Tueslet weekDay3 : DayOfWeek = DayOfWeek.Wedlet weekDay4 : DayOfWeek = DayOfWeek.Thurslet weekDay5 : DayOfWeek = DayOfWeek.Friprintfn "Saturday: %A" weekend1printfn "Sunday: %A" weekend2printfn "Monday: %A" weekDay1printfn "Tuesday: %A" weekDay2printfn "Wednesday: %A" weekDay3printfn "Thursday: %A" weekDay4printfn "Friday: %A" weekDay5XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

A saída do exemplo acima será a seguinte:

Saturday: Sat
Sunday: Sun
Monday: Mon
Tuesday: Tues
Wednesday: Wed
Thursday: Thurs
Friday: Fri

Abaixo está outro exemplo para dar uma compreensão clara da enumeração:

Example: 

1
12345678910111213141516171819202122232425262728293031323334353637383940414243// Define an enumeration for different types of animalstype Animal = | Dog | Cat | Elephant | Giraffe | Lion | Tiger | Bear// Function that takes an Animal value and returns a string representationlet printAnimal (animal: Animal) = match animal with | Dog -> "Dog" | Cat -> "Cat" | Elephant -> "Elephant" | Giraffe -> "Giraffe" | Lion -> "Lion" | Tiger -> "Tiger" | Bear -> "Bear"// Function that checks if an animal is a mammal or notlet isMammal (animal: Animal) = match animal with | Dog | Cat | Elephant | Giraffe -> true | Lion | Tiger | Bear -> false// Usage of the Animal enumerationlet myPet = Doglet myFavoriteAnimal = Elephantlet bigAnimal = Giraffeprintfn "My pet is a %s." (printAnimal myPet)printfn "My favorite animal is an %s." (printAnimal myFavoriteAnimal)printfn "Biggest animal is a %s." (printAnimal bigAnimal)if isMammal myPet then printfn "My pet is a mammal."else printfn "My pet is not a mammal."XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

E a saída será:

My pet is a Dog.
My favorite animal is an Elephant.
Biggest animal is a Giraffe.
My pet is a mammal.

Exemplo de Explicação

Definimos uma enumeração chamada Animal que representa diferentes tipos de animais, incluindo Dog , Cat , Elephant , Giraffe , Lion , Tiger e Bear . Também temos duas funções: printAnimal que recebe um valor de Animal como entrada e retorna uma string que representa o animal, e isMammal que verifica se um animal é um mamífero ou não.

Em seguida, usamos a enumeração Animal em nosso código criando três variáveis: myPet que representa meu animal de estimação e é definido como Dog, myFavoriteAnimal que representa meu animal favorito e é definido como Elephant e bigAnimal que representa o maior animal e é definido como Giraffe. Usamos a função printAnimal para imprimir a representação em string desses animais.

Finalmente, usamos a função isMammal para verificar se myPet é um mamífero ou não, e imprimimos a mensagem correspondente. No geral, a enumeração e as funções fornecem uma maneira concisa e segura de representar e trabalhar com diferentes tipos de animais em nosso código.

Você pode ajudar outras pessoas a aprender sobre o poder e a natureza flexível do F# se as condições compartilhando nosso artigo nas mídias sociais abaixo. Isso permitirá que eles criem aplicativos da Web dinâmicos e interativos.

Nós valorizamos o seu feedback.
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0

Assine a nossa newsletter
Digite seu e-mail para receber um resumo semanal de nossos melhores posts. Saber mais!
ícone