Trilhas
/
Elm
Elm
/
Exercícios
/
Tracks on Tracks on Tracks
Tracks on Tracks on Tracks

Tracks on Tracks on Tracks

Exercício de aprendizagem

Introdução

Listas

Uma List no Elm é uma coleção imutável de zero ou mais valores do mesmo tipo.

Listas podem ser definidas da seguinte forma:

empty = []
singleValue = [ 5 ]
threeValues = [ "a", "b", "c" ]

A maneira mais comum de adicionar um elemento a uma lista é usando o operador :: (cons):

twoToFour = [ 2, 3, 4 ]
oneToFour = 1 :: twoToFour --> [ 1, 2, 3, 4 ]

As listas são manipuladas por funções e operadores definidos no módulo List ou por casamento de padrões

describe : List String -> String
describe list =
    case list of
        [] ->
            "Empty list"

        [ "hello" ] ->
            "Singleton list with: hello"

        x :: xs ->
            "Non-empty list with head: " ++ x

describe []                   --> "Empty list"
describe [ "hello" ]          --> "Singleton list with: hello"
describe [ "hello", "world" ] --> "Non-empty list with head: hello"

Instruções

Neste exercício, você vai escrever código para acompanhar uma lista de linguagens de programação que você quer aprender no Exercism. São seis tarefas, e todas elas envolvem lidar com listas.

1. Criar uma nova lista

Para acompanhar as linguagens que você quer aprender, você vai precisar criar uma nova lista. Defina a constante newList que contém uma lista nova e vazia.

newList
    --> []

2. Definir uma lista existente

No momento, você tem um pedaço de papel com uma lista das linguagens que quer aprender: Elm, Clojure e Haskell. Defina a constante existingList para representar essa lista.

existingList
    --> [ "Elm", "Clojure", "Haskell" ]

3. Adicionar uma nova linguagem a uma lista

Conforme você explora o Exercism e encontra linguagens mais interessantes, você quer adicioná-las à sua lista. Implemente a função addLanguage para adicionar uma nova linguagem ao início da sua lista.

addLanguage "TypeScript" [ "JavaScript", "CoffeeScript" ]
    --> [ "TypeScript", "JavaScript", "CoffeeScript" ]

4. Contar as linguagens da lista

Contar as linguagens manualmente é inconveniente. Implemente a função countLanguages para contar o número de linguagens da sua lista.

countLanguages [ "C#", "Racket", "Rust", "Ruby" ]
    --> 4

5. Inverter a lista

Em algum momento, você percebe que sua lista está na verdade em ordem inversa! Implemente a função reverseList para inverter sua lista.

reverseList [ "Prolog", "C", "Idris", "Assembly" ]
    --> [ "Assembly", "Idris", "C", "Prolog" ]

6. Verificar se a lista é empolgante

Embora você ame todas as linguagens, Elm tem um lugar especial no seu coração. Por isso, você fica muito empolgado com uma lista de linguagens quando:

  • O primeiro item da lista é Elm.
  • Ou o segundo item da lista é Elm e a lista contém três linguagens ou menos.

Implemente a função excitingList para verificar se uma lista de linguagens é empolgante:

excitingList [ "Nim", "Elm" ]
    --> True
Editar via GitHub O link abre em uma nova janela ou aba
Elm Exercism

Tudo pronto para começar Tracks on Tracks on Tracks?

Crie sua conta no Exercism para aprender e dominar Elm com 28 conceitos110 exercícios e mentoria humana de verdade, tudo de graça.