Track
/
TypeScript
TypeScript
/
Esercizi
/
Hello World
Hello World

Hello World

Esercizio tutorial

Introduzione

«Hello, World!» ti farà scrivere un po' di TypeScript e ti farà prendere confidenza con il flusso di lavoro di Exercism. Completarlo sblocca il resto del Track TypeScript.

Guarda il nostro video «Introduction to Hello, World» per iniziare 👇

Istruzioni

Il classico esercizio introduttivo. Basta dire «Hello, World!».

"Hello, World!" è il tradizionale primo programma per chi inizia a programmare in un nuovo linguaggio o ambiente.

Gli obiettivi sono semplici:

  • Modifica il codice fornito in modo che produca la stringa «Hello, World!».
  • Esegui la suite di test e assicurati che vada a buon fine.
  • Invia la soluzione e controllala sul sito.

Se tutto va bene, sarai pronto a scaricare il primo esercizio vero.

Configurazione

Segui le istruzioni di configurazione per TypeScript per installare le dipendenze necessarie:

https://exercism.org/docs/tracks/typescript/installation

Requisiti

Installa le dipendenze dell'esercizio:

$ yarn install

Far passare la suite di test

Esegui i test con:

$ yarn test

In molte suite di test, tutti i test tranne il primo vengono saltati.

Una volta che un test passa, puoi riattivare il successivo cambiando xit in it.

Tutorial

Questa sezione è una guida passo passo per risolvere questo esercizio.

Questo esercizio ha due file:

  • hello-world.ts
  • hello-world.test.ts

Nel primo file scriverai il codice. Nel secondo sono definiti i test.

I test verificheranno se il codice fa la cosa giusta. Non devi essere in grado di scrivere una suite di test da zero, ma aiuta a capire come è fatto un test e cosa fa.

Apri il file di test, hello-world.test.ts. Dentro c'è un solo test:

it('says hello world', () => {
  expect(hello()).toEqual('Hello, World!')
})

Ora esegui il test con il seguente comando dalla riga di comando:

$ yarn test

Il test fallisce. È normale, visto che non hai ancora scritto nessun codice.

Il messaggio di errore è simile a questo:

    × says hello world (5ms)

  ● Hello World › says hello world

    expect(received).toEqual(expected) // deep equality

    Expected: "Hello, World!"
    Received: "Goodbye, Mars!"

      4 |
      5 |   it('says hello world', () => {
    > 6 |     expect(hello()).toEqual('Hello, World!')
        |                     ^
      7 |   })
      8 |
      9 | })

      at Object.it (hello-world.test.ts:6:32)

E queste sono le righe di codice con probabili difetti nel file hello-world.test.ts:

la sesta riga:

    expect(hello()).toEqual('Hello, World!')
                    ^

Quindi il problema è nella chiamata alla funzione hello(). Vediamo che il test si aspetta 'Hello, World!' come output, ma invece riceve "Goodbye, Mars!".

Ora controlliamo questa funzione nel file hello-worlds.ts:

export function hello(): string {
  return 'Goodbye, Mars!'
}

Ora vediamo che la funzione restituisce la stringa sbagliata, ed è questo il motivo del fallimento. Risolviamo cambiando il valore restituito:

export function hello(): string {
  return 'Hello, World!'
}

Esegui di nuovo il test:

 PASS  ./hello-world.test.ts
  Hello World
    √ says hello world (4ms)

E il test passa!

Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
TypeScript Exercism

Vuoi iniziare Hello World?

Iscriviti a Exercism per imparare e padroneggiare TypeScript con 108 esercizi e il mentoring di persone reali, tutto gratis.