Track
/
Elm
Elm
/
Esercizi
/
Tracks on Tracks on Tracks
Tracks on Tracks on Tracks

Tracks on Tracks on Tracks

Esercizio di apprendimento

Introduzione

Liste

Una List in Elm è una collezione immutabile di zero o più valori dello stesso tipo.

Le liste possono essere definite come segue:

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

Il modo più comune per aggiungere un elemento a una lista è tramite l'operatore :: (cons):

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

Le liste vengono manipolate da funzioni e operatori definiti nel modulo List o tramite pattern matching

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"

Istruzioni

In questo esercizio scriverai codice per tenere traccia di un array di linguaggi di programmazione che vuoi imparare su Exercism. Hai sei attività, che avranno tutte a che fare con gli array.

1. Creare un nuovo array

Per tenere traccia dei linguaggi che vuoi imparare, dovrai creare un nuovo array. Definisci la costante newList che contiene un nuovo array vuoto.

newList
    --> []

2. Definire un array esistente

Al momento hai un foglio di carta che elenca i linguaggi che vuoi imparare: Elm, Clojure e Haskell. Definisci la costante existingList per rappresentare questo array.

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

3. Aggiungere un nuovo linguaggio a un array

Mentre esplori Exercism e trovi linguaggi più interessanti, vuoi aggiungerli all'array. Implementa la funzione addLanguage per aggiungere un nuovo linguaggio all'inizio dell'array.

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

4. Contare i linguaggi nell'array

Contare i linguaggi manualmente è scomodo. Implementa la funzione countLanguages per contare il numero di linguaggi nell'array.

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

5. Invertire l'array

A un certo punto, ti rendi conto che l'array è in realtà ordinato al contrario! Implementa la funzione reverseList per invertire l'array.

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

6. Verificare se l'array è entusiasmante

Anche se ami tutti i linguaggi, Elm ha un posto speciale nel tuo cuore. Perciò, un array di linguaggi ti entusiasma davvero se:

  • Il primo elemento dell'array è Elm.
  • Oppure il secondo elemento dell'array è Elm e l'array contiene al massimo tre linguaggi.

Implementa la funzione excitingList per verificare se un array di linguaggi è entusiasmante:

excitingList [ "Nim", "Elm" ]
    --> True
Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
Elm Exercism

Vuoi iniziare Tracks on Tracks on Tracks?

Iscriviti a Exercism per imparare e padroneggiare Elm con 28 concetti110 esercizi e il mentoring di persone reali, tutto gratis.