Elm - Tipos de Dados

O Type System representa os diferentes tipos de valores suportados pelo idioma. O Type System verifica a validade dos valores fornecidos, antes de serem armazenados ou manipulados pelo programa. Isso garante que o código se comporte conforme o esperado. O Type System permite ainda mais dicas de código e documentação automatizada.

Elm é uma linguagem de tipagem estática. Elm tem tipos semelhantes aos de outras línguas.

Número

O tipo de dados de número representa valores numéricos. O sistema de tipo Elm suporta os seguintes tipos numéricos -

Sr. Não. Tipo Exemplo
1 número - armazena qualquer número 7 é o tipo de número
2 Float - armazena valores fracionários 7/2 dá 3,5 resultados como flutuante
3 Int - Armazena valores não fracionários 7 // 2 dá 3 resultados como Int

O número do tipo acomoda valores fracionários e não fracionários. Abra o elm REPL e tente os exemplos dados abaixo -

C:\Users\admin>elm repl
---- elm-repl 0.18.0 
---------------------------------------------
--------------
:help for help, :exit to exit, more at <https://github.com/elm-lang/elm-repl>
------------------------------------------
--------------------------------------
> 7
7 : number
> 7/2
3.5 : Float
> 7//2
3 : Int
>

String e Char

O tipo de dados String é usado para representar uma sequência de caracteres. O tipo de dados Char é usado para representar um único caractere. Cordas valores são definidos dentro de aspas duplas "e Char valores são colocados dentro de uma única citação'.

Sr. Não. Tipo Exemplo
1 String - Armazena uma sequência de caracteres "TutorialsPoint"
2 Char - armazena valores fracionários 'T'

Abra o elm REPL e tente os exemplos dados abaixo -

C:\Users\admin>elm repl
---- elm-repl 0.18.0 ---------------------------------------
--------------------
:help for help, :exit to exit, more at <https://github.com/elm-lang/elm-repl>
--------------------------------------
------------------------------------------
> "TutorialsPoint"
"TutorialsPoint" : String
> 'T'
'T' : Char

Bool

O tipo de dados Bool no Elm suporta apenas dois valores - True e False. A palavra-chave Bool é usada para representar um valor booleano.

Sr. Não. Tipo Exemplo
1 Bool - armazena valores True ou False 1 == 1 retorna Verdadeiro

Abra o elm REPL e tente os exemplos dados abaixo -

C:\Users\dell\elm>elm repl
---- elm-repl 0.18.0 -----------------------------------
------------------------
:help for help, :exit to exit, more at <https://github.com/elm-lang/elm-repl>
----------------------------------------
----------------------------------------
> True
True : Bool
> False
False : Bool
> 1==1
True : Bool
> 1==2
False : Bool
> 1 /= 2 -- not equal
True : Bool
> not True
False : Bool
> not False
True : Bool

Tipos personalizados

Elm suporta a criação de tipos definidos pelo usuário. Por exemplo, considere um aplicativo de pagamento. O aplicativo precisa armazenar diferentes modos de pagamento - cartão de crédito, cartão de débito e net banking. Isso pode ser alcançado definindo um tipo personalizado e restringindo seu valor aos três modos de pagamento aceitáveis.

O exemplo a seguir mostra como fazer um tipo personalizado.

> type PaymentMode = CreditCard|NetBanking|DebitCard
> payment1 = CreditCard
CreditCard : Repl.PaymentMode
> payment2 = DebitCard
DebitCard : Repl.PaymentMode
> payment3 = UPI
-- NAMING ERROR ---------------------------------------------- repl-temp-000.elm

Cannot find variable `UPI`

7| payment3 = UPI

No exemplo acima, criamos um tipo personalizado PaymentMode. As variáveis ​​payment1 e payment2 são atribuídas aos valores PaymentMode. Se o valor atribuído à variável não corresponder a nenhum dos valores definidos pelo tipo PaymentMode, o aplicativo gerará um erro de sintaxe.

Tipos de dados estruturados

Os tipos de dados estruturados podem ser usados ​​para armazenar vários valores em um formato estruturado. Elm suporta os seguintes tipos de dados estruturados -

  • Tuple
  • List
  • Record
  • Record

Isso será discutido em detalhes nos próximos capítulos.