Hello World

Hello World

Tutorial-Übung

Einführung

„Hello, World!“ bringt dich dazu, ein wenig TypeScript zu schreiben, und macht dich mit dem Workflow von Exercism vertraut. Wenn du sie abschließt, schaltest du den Rest des TypeScript-Tracks frei.

Schau dir unser Video „Einführung in Hello, World“ an, um loszulegen 👇

Anleitung

Die klassische Einführungsübung. Sag einfach „Hello, World!“.

„Hello, World!“ ist das traditionelle erste Programm, wenn man in einer neuen Sprache oder Umgebung mit dem Programmieren beginnt.

Die Ziele sind einfach:

  • Ändere den vorgegebenen Code so, dass er den String „Hello, World!“ erzeugt.
  • Führe die Testsuite aus und stell sicher, dass sie erfolgreich ist.
  • Reiche deine Lösung ein und prüfe sie auf der Website.

Wenn alles gut läuft, bist du bereit, deine erste echte Übung abzuholen.

Einrichtung

Gehe die Einrichtungsanleitung für TypeScript durch, um die nötigen Abhängigkeiten zu installieren:

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

Voraussetzungen

Installiere die Abhängigkeiten der Übung:

$ yarn install

So bestehst du die Testsuite

Führe die Tests aus mit:

$ yarn test

In vielen Testsuiten sind alle Tests außer dem ersten übersprungen.

Sobald ein Test besteht, kannst du den nächsten aktivieren, indem du xit in it änderst.

Tutorial

Dieser Abschnitt ist eine Schritt-für-Schritt-Anleitung zum Lösen dieser Übung.

Diese Übung hat zwei Dateien:

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

In die erste Datei schreibst du deinen Code. In der zweiten sind die Tests definiert.

Die Tests prüfen, ob dein Code das Richtige tut. Du musst keine Testsuite von Grund auf selbst schreiben können, aber es hilft zu verstehen, wie ein Test aussieht und was er tut.

Öffne die Testdatei hello-world.test.ts. Darin steht ein einziger Test:

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

Führe den Test jetzt mit dem folgenden Befehl auf der Kommandozeile aus:

$ yarn test

Der Test schlägt fehl, was auch Sinn ergibt, da du noch keinen Code geschrieben hast.

Der Fehler sieht so aus:

    × 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)

Und das sind die Codezeilen mit den wahrscheinlichen Fehlern in der Datei hello-world.test.ts:

die 6. Zeile:

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

Das Problem liegt also beim Aufruf der Funktion hello(). Wir sehen, dass der Test 'Hello, World!' als Ausgabe erwartet, aber stattdessen "Goodbye, Mars!" bekommt.

Schauen wir uns also jetzt diese Funktion in der Datei hello-worlds.ts an:

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

Jetzt sehen wir, dass die Funktion den falschen String zurückgibt, was der Grund für unser Fehlschlagen ist. Beheben wir das, indem wir den Rückgabewert ändern:

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

Führe den Test erneut aus:

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

Und er besteht!

Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab
TypeScript Exercism

Bereit, mit Hello World zu starten?

Melde dich bei Exercism an, um TypeScript mit 108 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.