Το "Hello, World!" θα σε βάλει να γράψεις λίγο κώδικα σε TypeScript και θα σε εξοικειώσει με τη ροή εργασίας του Exercism. Η ολοκλήρωσή του ξεκλειδώνει την υπόλοιπη διαδρομή TypeScript.
Δες το βίντεό μας "Εισαγωγή στο Hello, World" για να ξεκινήσεις 👇
Η κλασική εισαγωγική άσκηση. Πες απλώς "Hello, World!".
Το "Hello, World!" είναι το παραδοσιακό πρώτο πρόγραμμα για όποιον ξεκινά προγραμματισμό σε μια νέα γλώσσα ή περιβάλλον.
Οι στόχοι είναι απλοί:
Αν όλα πάνε καλά, θα είσαι έτοιμος να κατεβάσεις την πρώτη σου πραγματική άσκηση.
Ακολούθησε τις οδηγίες εγκατάστασης για τη TypeScript για να εγκαταστήσεις τις απαραίτητες εξαρτήσεις:
https://exercism.org/docs/tracks/typescript/installation
Εγκατέστησε τις εξαρτήσεις της άσκησης:
$ yarn install
Εκτέλεσε τα tests με:
$ yarn test
Σε πολλά test suites, όλα τα tests εκτός από το πρώτο έχουν παραλειφθεί.
Μόλις περάσεις ένα test, μπορείς να ενεργοποιήσεις το επόμενο
αλλάζοντας το xit σε it.
Αυτή η ενότητα είναι ένας οδηγός βήμα προς βήμα για να λύσεις αυτή την άσκηση.
Αυτή η άσκηση έχει δύο αρχεία:
Στο πρώτο αρχείο θα γράψεις τον κώδικά σου. Στο δεύτερο ορίζονται τα tests.
Τα tests θα ελέγξουν αν ο κώδικάς σου κάνει το σωστό. Δεν χρειάζεται να μπορείς να γράψεις ένα test suite από το μηδέν, αλλά βοηθάει να καταλάβεις πώς μοιάζει ένα test και τι κάνει.
Άνοιξε το αρχείο με τα tests, hello-world.test.ts. Μέσα υπάρχει ένα μόνο test:
it('says hello world', () => {
expect(hello()).toEqual('Hello, World!')
})
Τρέξε το test τώρα, με την ακόλουθη εντολή στη γραμμή εντολών:
$ yarn test
Το test αποτυγχάνει, κάτι που είναι λογικό αφού δεν έχεις γράψει ακόμα κώδικα.
Η αποτυχία μοιάζει κάπως έτσι:
× 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)
Και αυτές είναι οι γραμμές κώδικα με πιθανά σφάλματα στο αρχείο hello-world.test.ts:
η 6η γραμμή:
expect(hello()).toEqual('Hello, World!')
^
Άρα το πρόβλημα είναι στην κλήση της συνάρτησης hello().
Βλέπουμε ότι το test περιμένει ως έξοδο το 'Hello, World!', αλλά αντ' αυτού παίρνει το "Goodbye, Mars!".
Ας ελέγξουμε λοιπόν αυτή τη συνάρτηση στο αρχείο hello-worlds.ts:
export function hello(): string {
return 'Goodbye, Mars!'
}
Τώρα βλέπουμε ότι η συνάρτηση επιστρέφει τη λανθασμένη συμβολοσειρά, που είναι και ο λόγος της αποτυχίας μας. Ας το διορθώσουμε αλλάζοντας την τιμή που επιστρέφεται:
export function hello(): string {
return 'Hello, World!'
}
Τρέξε ξανά το test:
PASS ./hello-world.test.ts
Hello World
√ says hello world (4ms)
Και περνάει!
Γράψου στο Exercism για να μάθεις και να κατακτήσεις TypeScript με 108 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.