Βίντεο: Ruby on Rails by Leila Hofer 2024
Ο Ruby προσπαθεί να σας βοηθήσει όταν κάποιο μέρος του προγράμματος σας έχει τυπογραφικό λάθος ή κάνει κάτι απροσδόκητο. Το Ruby εμφανίζει ένα μήνυμα προειδοποίησης ή σφάλματος, συχνά με πληροφορίες σχετικά με το πού βρήκε το πρόβλημα στον κωδικό σας.
Για παράδειγμα, αν κάνατε τυχαία ένα τυπογραφικό λάθος όταν κάνατε απλά μαθηματικά, ο Ruby θα σας έλεγε ότι έχετε ένα συντακτικό σφάλμα.
Η σύνταξη είναι σαν τη γραμματική στα αγγλικά. Η σύνταξη μιας γλώσσας προγραμματισμού είναι η δομή, η σειρά και η ορθογραφία των εντολών και των δηλώσεων σε αυτή τη γλώσσα.
Αν κάνετε εκούσιο λάθος:
2. 2. 2: 036> 3j + 3 SyntaxError: (irb): 36: συντακτικό σφάλμα, απροσδόκητο tIDENTIFIER, αναμένοντας άκρη εισόδου 3j + 3 ^ από / usr / bin / irb:
Δεν θέλατε να πληκτρολογήσετε το γράμμα j μετά τον αριθμό 3, και αντίθετα με ό, τι μπορείτε να γράψετε στο σχολείο όταν μαθαίνετε άλγεβρα, αυτή η σύνταξη δεν είναι έγκυρη Ruby.
Το Ruby εμφανίζει ένα μήνυμα σφάλματος που είναι λίγο κρυπτό, αλλά αν δείτε σφάλμα σύνταξης και έναν αριθμό γραμμής ή μια θέση, σας δίνει ένα μέρος για να ξεκινήσετε τη διερεύνηση του τι συνέβη. Σε αυτήν την περίπτωση, ο Ruby εμφάνισε με προσοχή την λανθασμένη γραμμή με ένα μικρό σύμβολο βέλους που δείχνει στο σημείο που σκέφτηκε ότι ήταν λάθος. Σας ευχαριστώ, Ruby!
Τι συμβαίνει όταν προσπαθείτε να αποκτήσετε το Ruby για να εμφανίσετε ένα googolplex; Ένα googol είναι ένας διασκεδαστικός όρος που σημαίνει ότι 10 ανυψώνονται στην 100η δύναμη. Ένα googolplex είναι 1 ακολουθούμενο από γέλη googol (10 100 ). Υποτίθεται ότι ο 9χρονος ανιψιός του Αμερικανού μαθηματικού Edward Kasner, Milton Sirotta, δημιούργησε τον όρο και το χαρακτήρισε ως το ψηφίο "ένα, ακολουθούμενο από τη γραφή μηδέν μέχρι να κουραστείτε. "
Στο Interactive Ruby (IRB), αποθηκεύστε ένα googol σε μια μεταβλητή που ονομάζεται googol:
2. 2. 2: 030> googol = 10 ** 100 => 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Τώρα δοκιμάστε να αυξήσετε το 10 από ένα googol:
2. 2. 2: 031> 10 ** googol (irb): 31: προειδοποίηση: σε a ** b, b μπορεί να είναι πολύ μεγάλη => Infinity
Υπάρχουν κάποια όρια στις δεξιότητες μαθηματικών του Ruby. Εδώ, ο Ruby σας δείχνει μια προειδοποίηση ότι η εντολή που μόλις πληκτρολογήσατε δεν λειτουργεί επειδή μέρος του υπολογισμού είναι πολύ μεγάλο. Δείχνει τα αποτελέσματα ως Άπειρο, το οποίο φαίνεται σωστό.
Δείτε αν το Ruby μπορεί να βρει άλλο πρόβλημα:
2. 2. 2: 037> x + 5 NameError: undefined τοπική μεταβλητή ή μέθοδος. x ' για κύρια: Αντικείμενο από (irb): 37 από / usr / bin / irb: 11: in '
Σε αυτήν την περίπτωση, προσπαθήσατε να χρησιμοποιήσετε μια μεταβλητή που δεν έχετε αποθηκεύσει τίποτα μέσα. Ο Ruby δεν ξέρει τι να κάνει εδώ, επειδή δεν μπορεί να βρει μια μεταβλητή που ονομάζεται x (ακόμα).Συχνά βλέπετε αυτό το σφάλμα αν κάνετε ένα τυπογραφικό λάθος στο όνομα μιας μεταβλητής (ή της μεθόδου). Ελέγξτε την ορθογραφία και δοκιμάστε ξανά.
Ένα άλλο κοινό σφάλμα Ruby μπορεί να δει με αυτόν τον κωδικό:
2. 2. 2: 038> χ = μηδέν => μηδέν 2. 2. 2: 039> χ + 5 NoMethodError: undefined method ' + ' για μηδέν: NilClass από (irb): 39 από / usr / bin / irb: 11: in '
Μπορείτε να σκεφτείτε ότι δεν υπάρχει κανένας τρόπος, όπως ο Ruby να αντιπροσωπεύει "τίποτα. "Το σφάλμα που δείχνει ο Ruby σημαίνει ότι δεν ξέρει να το προσθέτει με μηδέν, το οποίο φαίνεται λογικό. Στον κώδικα σας, αυτό πιθανότατα σημαίνει ότι αναμένετε να λάβετε αποτελέσματα από κάποιο άλλο μέρος του προγράμματος, αλλά ο κώδικας δεν επέστρεψε τίποτα.
Ένα τελευταίο πρόβλημα που βλέπετε περιστασιακά είναι αν προσπαθήσετε να κάνετε κάτι με ασύμβατα δεδομένα:
2. 2. 2: 040> x = "a" => "a" 2. 2. 2: 041> x + 5 TypeError: + ' από (irb): 41 από / usr / bin / irb: 11: in '
Το γράμμα a έχει εκχωρηθεί στη μεταβλητή x. Εδώ, όμως, προσπαθήσατε να προσθέσετε τον αριθμό 5 στο γράμμα a. Είναι σαφές ότι αυτό είναι ανοησία. Ο Ruby το σκέφτεται επίσης και σας λέει ότι δεν μπορεί να μετατρέψει τα δεδομένα με τρόπο ώστε να λειτουργήσει.
Πιθανότατα θα συναντήσετε τα σφάλματα σύνταξης πιο συχνά, επειδή τα typos είναι τα πιο απλά σφάλματα που πρέπει να κάνετε. Όταν βλέπετε ένα μήνυμα σφάλματος, η καλύτερη πορεία δράσης σας είναι να συγκρίνετε προσεκτικά τι πληκτρολογήσατε με τον κώδικα του έργου σας.