Το Ruby είναι ένα λογισμικό γραμμής εντολών πλούσιο σε λειτουργίες και λογισμικό ανοιχτού κώδικα πολλαπλών πλατφορμών, ελεύθερα κατανεμημένο και σχεδιασμένο από το έδαφος για να παρέχει μια ισχυρή γλώσσα προγραμματισμού για προγραμματιστές που επιθυμούν να αναπτύξουν εφαρμογές στο Ruby .
Χαρακτηριστικά, πολλά χαρακτηριστικά
Τα βασικά χαρακτηριστικά περιλαμβάνουν μια απλή σύνταξη εμπνευσμένη από την Ada και το Eiffel, ανεξάρτητο threadading του λειτουργικού συστήματος, δυνατότητες χειρισμού εξαιρέσεων για χειρισμούς σφαλμάτων, πολυάριθμους χειριστές, μια καθαρή και πλήρη αντικειμενοστραφή γλώσσα, καθώς και υποστήριξη για την προσθήκη μεθόδων σε μια κλάση. / p>
Επιπλέον, ο Ruby διαθέτει μόνο μία κληρονομιά μόνο, αληθή κλεισίματα, μπλοκ στη σύνταξη του, έναν αληθινό συλλέκτη σκουπιδιών με σήμανση και σάρωση, υποστήριξη για την εγγραφή επεκτάσεων C, ακεραίων, υποστήριξη για βιβλιοθήκες επέκτασης φόρτωσης δυναμικά και αυτό δεν χρειάζονται μεταβλητές δηλώσεις.
Ξεκινώντας με τον Ruby
Η εγκατάσταση της γλώσσας προγραμματισμού Ruby σε ένα λειτουργικό σύστημα GNU / Linux είναι ένα πολύ εύκολο έργο, καθώς το πακέτο είναι διαθέσιμο για λήψη σε όλες τις μεγάλες διανομές, απευθείας από τα κύρια αποθετήρια λογισμικού. Χρησιμοποιήστε την ενσωματωμένη εφαρμογή λογισμικού για να την εγκαταστήσετε.
Εναλλακτικά, η τελευταία έκδοση μπορεί να εγκατασταθεί χρησιμοποιώντας το πακέτο προέλευσης, το οποίο διανέμεται δωρεάν στο Softoware. Απλά κατεβάστε το και αποθηκεύστε το στον αρχικό σας κατάλογο, εξαγάγετε το αρχείο και μεταβείτε στη θέση των αρχείων αρχειοθετημένου αρχείου σε μια εφαρμογή εξομοιωτή τερματικού (π.χ. cd /home/softoware/ruby-2.2.0).
Εκτελέστε το & lsquo; ./ configure & rsquo; (για να δείτε τις διαθέσιμες επιλογές για τη βελτιστοποίηση του Ruby για μια συγκεκριμένη αρχιτεκτονική υλικού) μπορείτε να χρησιμοποιήσετε την εντολή & lsquo; ./conf --help & rsquo; Στη συνέχεια, εκτελέστε το "make & rsquo; εντολή για να την συντάξετε και το & lsquo; sudo make install & rsquo; εντολή να την εγκαταστήσετε.
Υποστηρίζεται σε GNU / Linux, Windows, Mac OS X, BeOS και OS / 2
Το Ruby είναι ένα λογισμικό cross-platform που μπορεί να χρησιμοποιηθεί με επιτυχία σε όλες τις διανομές GNU / Linux, καθώς και σε οποιοδήποτε λειτουργικό σύστημα που μοιάζει με το UNIX, συμπεριλαμβανομένων των Mac OS X, BeOS, OS / 2 και Microsoft Windows. Είναι συμβατό με πλατφόρμες υπολογιστών 32 bit και 64 bit.
Τι είναι καινούργιο σε αυτήν την έκδοση:
- Εισάγεται ένα παγωμένο string String Pragma. Με το Ruby 2.1, το "str" .freeze έχει βελτιστοποιηθεί για να μειώσει την κατανομή αντικειμένων. Το Ruby 2.3 εισάγει ένα νέο μαγικό σχόλιο και επιλογή γραμμής εντολών για να παγώσει όλες τις λίστες συμβολοσειρών στα αρχεία προέλευσης. Επιπλέον, για τον εντοπισμό σφαλμάτων, μπορείτε να φτάσετε εκεί όπου το αντικείμενο δημιουργείται στο "Δεν μπορεί να τροποποιηθεί ο κατεψυγμένος String". σφάλμα από --debug = κατεψυγμένη-γραμμική-γραμμική γραμμή εντολών.
- Εισάγεται ένας ασφαλής χειριστής πλοήγησης (λεγόμενος μοναχικός χειριστής) &., ο οποίος υπάρχει ήδη σε C #, Groovy και Swift, για να διευκολύνει τον χειρισμό του null όπως το obj & .foo. Επίσης προστίθενται πίνακες # dig και Hash # dig. Σημειώστε ότι αυτό συμπεριφέρεται ως δοκιμή! της ενεργής υποστήριξης, η οποία χειρίζεται ειδικά μόνο το μηδέν.
- Το κόσμημα did_you_mean είναι ομαδοποιημένο. Το κόσμημα did_you_mean εμφανίζει τους υποψήφιους για το NameError και το NoMethodError για να διευκολύνει το σφάλμα.
- RubyVM :: InstructionSequence # to_binary και. load_from_binary εισάγονται ως πειραματικό χαρακτηριστικό. Με αυτές τις δυνατότητες, μπορούμε να δημιουργήσουμε ένα σύστημα προετοιμασίας ISeq (bytecode).
- Περιλαμβάνει επίσης πολλές βελτιώσεις επιδόσεων, για παράδειγμα, επανεξέταση της δομής δεδομένων εισόδου μεθόδου, εισαγωγή νέας δομής δεδομένων πίνακα, βελτιστοποίηση Proc # κλήσης, συντονισμός επιπέδου κωδικού μηχανής για κατανομή αντικειμένου και κωδικό κλήσης μεθόδου, Οι υποδοχές και οι εισόδους / εξόδους επιτρέπουν τη χρήση "εξαίρεσης": λέξεις-κλειδιά για μη-αποκλειστικούς I / O υψηλής απόδοσης και ούτω καθεξής.
Τι νέο υπάρχει στην έκδοση 2.5.0:
- Εισάγεται ένα παγωμένο string String Pragma. Με το Ruby 2.1, το "str" .freeze έχει βελτιστοποιηθεί για να μειώσει την κατανομή αντικειμένων. Το Ruby 2.3 εισάγει ένα νέο μαγικό σχόλιο και επιλογή γραμμής εντολών για να παγώσει όλες τις λίστες συμβολοσειρών στα αρχεία προέλευσης. Επιπλέον, για τον εντοπισμό σφαλμάτων, μπορείτε να φτάσετε εκεί όπου το αντικείμενο δημιουργείται στο "Δεν μπορεί να τροποποιηθεί ο κατεψυγμένος String". σφάλμα από --debug = κατεψυγμένη-γραμμική-γραμμική γραμμή εντολών.
- Εισάγεται ένας ασφαλής χειριστής πλοήγησης (λεγόμενος μοναχικός χειριστής) &., ο οποίος υπάρχει ήδη σε C #, Groovy και Swift, για να διευκολύνει τον χειρισμό του null όπως το obj & .foo. Επίσης προστίθενται πίνακες # dig και Hash # dig. Σημειώστε ότι αυτό συμπεριφέρεται ως δοκιμή! της ενεργής υποστήριξης, η οποία χειρίζεται ειδικά μόνο το μηδέν.
- Το κόσμημα did_you_mean είναι ομαδοποιημένο. Το κόσμημα did_you_mean εμφανίζει τους υποψήφιους για το NameError και το NoMethodError για να διευκολύνει το σφάλμα.
- RubyVM :: InstructionSequence # to_binary και. load_from_binary εισάγονται ως πειραματικό χαρακτηριστικό. Με αυτές τις δυνατότητες, μπορούμε να δημιουργήσουμε ένα σύστημα προετοιμασίας ISeq (bytecode).
- Περιλαμβάνει επίσης πολλές βελτιώσεις επιδόσεων, για παράδειγμα, επανεξέταση της δομής δεδομένων εισόδου μεθόδου, εισαγωγή νέας δομής δεδομένων πίνακα, βελτιστοποίηση Proc # κλήσης, συντονισμός επιπέδου κωδικού μηχανής για κατανομή αντικειμένου και κωδικό κλήσης μεθόδου, Οι υποδοχές και οι εισόδους / εξόδους επιτρέπουν τη χρήση "εξαίρεσης": λέξεις-κλειδιά για μη-αποκλειστικούς I / O υψηλής απόδοσης και ούτω καθεξής.
Τι νέο υπάρχει στην έκδοση 2.4.2:
- Εισάγεται ένα παγωμένο string String Pragma. Με το Ruby 2.1, το "str" .freeze έχει βελτιστοποιηθεί για να μειώσει την κατανομή αντικειμένων. Το Ruby 2.3 εισάγει ένα νέο μαγικό σχόλιο και επιλογή γραμμής εντολών για να παγώσει όλες τις λίστες συμβολοσειρών στα αρχεία προέλευσης. Επιπλέον, για τον εντοπισμό σφαλμάτων, μπορείτε να φτάσετε εκεί όπου το αντικείμενο δημιουργείται στο "Δεν μπορεί να τροποποιηθεί ο κατεψυγμένος String". σφάλμα από --debug = κατεψυγμένη-γραμμική-γραμμική γραμμή εντολών.
- Εισάγεται ένας ασφαλής χειριστής πλοήγησης (λεγόμενος μοναχικός χειριστής) &., ο οποίος υπάρχει ήδη σε C #, Groovy και Swift, για να διευκολύνει τον χειρισμό του null όπως το obj & .foo. Επίσης προστίθενται πίνακες # dig και Hash # dig. Σημειώστε ότι αυτό συμπεριφέρεται ως δοκιμή! της ενεργής υποστήριξης, η οποία χειρίζεται ειδικά μόνο το μηδέν.
- Το κόσμημα did_you_mean είναι ομαδοποιημένο. Το κόσμημα did_you_mean εμφανίζει τους υποψήφιους για το NameError και το NoMethodError για να διευκολύνει το σφάλμα.
- RubyVM :: InstructionSequence # to_binary και. load_from_binary εισάγονται ως πειραματικό χαρακτηριστικό. Με αυτές τις δυνατότητες, μπορούμε να δημιουργήσουμε ένα σύστημα προετοιμασίας ISeq (bytecode).
- Περιλαμβάνει επίσης πολλές βελτιώσεις επιδόσεων, για παράδειγμα, επανεξέταση της δομής δεδομένων εισόδου μεθόδου, εισαγωγή νέας δομής δεδομένων πίνακα, βελτιστοποίηση Proc # κλήσης, συντονισμός επιπέδου κωδικού μηχανής για κατανομή αντικειμένου και κωδικό κλήσης μεθόδου, Οι υποδοχές και οι εισόδους / εξόδους επιτρέπουν τη χρήση "εξαίρεσης": λέξεις-κλειδιά για μη-αποκλειστικούς I / O υψηλής απόδοσης και ούτω καθεξής.
Τι νέο υπάρχει στην έκδοση 2.4.1:
- Εισάγεται ένα παγωμένο string String Pragma. Με το Ruby 2.1, το "str" .freeze έχει βελτιστοποιηθεί για να μειώσει την κατανομή αντικειμένων. Το Ruby 2.3 εισάγει ένα νέο μαγικό σχόλιο και επιλογή γραμμής εντολών για να παγώσει όλες τις λίστες συμβολοσειρών στα αρχεία προέλευσης. Επιπλέον, για τον εντοπισμό σφαλμάτων, μπορείτε να φτάσετε εκεί όπου το αντικείμενο δημιουργείται στο "Δεν μπορεί να τροποποιηθεί ο κατεψυγμένος String". σφάλμα από --debug = κατεψυγμένη-γραμμική-γραμμική γραμμή εντολών.
- Εισάγεται ένας ασφαλής χειριστής πλοήγησης (λεγόμενος μοναχικός χειριστής) &., ο οποίος υπάρχει ήδη σε C #, Groovy και Swift, για να διευκολύνει τον χειρισμό του null όπως το obj & .foo. Επίσης προστίθενται πίνακες # dig και Hash # dig. Σημειώστε ότι αυτό συμπεριφέρεται ως δοκιμή! της ενεργής υποστήριξης, η οποία χειρίζεται ειδικά μόνο το μηδέν.
- Το κόσμημα did_you_mean είναι ομαδοποιημένο. Το κόσμημα did_you_mean εμφανίζει τους υποψήφιους για το NameError και το NoMethodError για να διευκολύνει το σφάλμα.
- RubyVM :: InstructionSequence # to_binary και. load_from_binary εισάγονται ως πειραματικό χαρακτηριστικό. Με αυτές τις δυνατότητες, μπορούμε να δημιουργήσουμε ένα σύστημα προετοιμασίας ISeq (bytecode).
- Περιλαμβάνει επίσης πολλές βελτιώσεις επιδόσεων, για παράδειγμα, επανεξέταση της δομής δεδομένων εισόδου μεθόδου, εισαγωγή νέας δομής δεδομένων πίνακα, βελτιστοποίηση Proc # κλήσης, συντονισμός επιπέδου κωδικού μηχανής για κατανομή αντικειμένου και κωδικό κλήσης μεθόδου, Οι υποδοχές και οι εισόδους / εξόδους επιτρέπουν τη χρήση "εξαίρεσης": λέξεις-κλειδιά για μη-αποκλειστικούς I / O υψηλής απόδοσης και ούτω καθεξής.
Τι νέο υπάρχει στην έκδοση 2.4.0:
- Εισάγεται ένα παγωμένο string String Pragma. Με το Ruby 2.1, το "str" .freeze έχει βελτιστοποιηθεί για να μειώσει την κατανομή αντικειμένων. Το Ruby 2.3 εισάγει ένα νέο μαγικό σχόλιο και επιλογή γραμμής εντολών για να παγώσει όλες τις λίστες συμβολοσειρών στα αρχεία προέλευσης. Επιπλέον, για τον εντοπισμό σφαλμάτων, μπορείτε να φτάσετε εκεί όπου το αντικείμενο δημιουργείται στο "Δεν μπορεί να τροποποιηθεί ο κατεψυγμένος String". σφάλμα από --debug = κατεψυγμένη-γραμμική-γραμμική γραμμή εντολών.
- Εισάγεται ένας ασφαλής χειριστής πλοήγησης (λεγόμενος μοναχικός χειριστής) &., ο οποίος υπάρχει ήδη σε C #, Groovy και Swift, για να διευκολύνει τον χειρισμό του null όπως το obj & .foo. Επίσης προστίθενται πίνακες # dig και Hash # dig. Σημειώστε ότι αυτό συμπεριφέρεται ως δοκιμή! της ενεργής υποστήριξης, η οποία χειρίζεται ειδικά μόνο το μηδέν.
- Το κόσμημα did_you_mean είναι ομαδοποιημένο. Το κόσμημα did_you_mean εμφανίζει τους υποψήφιους για το NameError και το NoMethodError για να διευκολύνει το σφάλμα.
- RubyVM :: InstructionSequence # to_binary και. load_from_binary εισάγονται ως πειραματικό χαρακτηριστικό. Με αυτές τις δυνατότητες, μπορούμε να δημιουργήσουμε ένα σύστημα προετοιμασίας ISeq (bytecode).
- Περιλαμβάνει επίσης πολλές βελτιώσεις επιδόσεων, για παράδειγμα, επανεξέταση της δομής δεδομένων εισόδου μεθόδου, εισαγωγή νέας δομής δεδομένων πίνακα, βελτιστοποίηση Proc # κλήσης, συντονισμός επιπέδου κωδικού μηχανής για κατανομή αντικειμένου και κωδικό κλήσης μεθόδου, Οι υποδοχές και οι εισόδους / εξόδους επιτρέπουν τη χρήση "εξαίρεσης": λέξεις-κλειδιά για μη-αποκλειστικούς I / O υψηλής απόδοσης και ούτω καθεξής.
Τι είναι καινούργιο στην έκδοση 2.3.3:
- Εισάγεται ένα παγωμένο string String Pragma. Με το Ruby 2.1, το "str" .freeze έχει βελτιστοποιηθεί για να μειώσει την κατανομή αντικειμένων. Το Ruby 2.3 εισάγει ένα νέο μαγικό σχόλιο και επιλογή γραμμής εντολών για να παγώσει όλες τις λίστες συμβολοσειρών στα αρχεία προέλευσης. Επιπλέον, για τον εντοπισμό σφαλμάτων, μπορείτε να φτάσετε εκεί όπου το αντικείμενο δημιουργείται στο "Δεν μπορεί να τροποποιηθεί ο κατεψυγμένος String". σφάλμα από --debug = κατεψυγμένη-γραμμική-γραμμική γραμμή εντολών.
- Εισάγεται ένας ασφαλής χειριστής πλοήγησης (λεγόμενος μοναχικός χειριστής) &., ο οποίος υπάρχει ήδη σε C #, Groovy και Swift, για να διευκολύνει τον χειρισμό του null όπως το obj & .foo. Επίσης προστίθενται πίνακες # dig και Hash # dig. Σημειώστε ότι αυτό συμπεριφέρεται ως δοκιμή! της ενεργής υποστήριξης, η οποία χειρίζεται ειδικά μόνο το μηδέν.
- Το κόσμημα did_you_mean είναι ομαδοποιημένο. Το κόσμημα did_you_mean εμφανίζει τους υποψήφιους για το NameError και το NoMethodError για να διευκολύνει το σφάλμα.
- RubyVM :: InstructionSequence # to_binary και. load_from_binary εισάγονται ως πειραματικό χαρακτηριστικό. Με αυτές τις δυνατότητες, μπορούμε να δημιουργήσουμε ένα σύστημα προετοιμασίας ISeq (bytecode).
- Περιλαμβάνει επίσης πολλές βελτιώσεις επιδόσεων, για παράδειγμα, επανεξέταση της δομής δεδομένων εισόδου μεθόδου, εισαγωγή νέας δομής δεδομένων πίνακα, βελτιστοποίηση Proc # κλήσης, συντονισμός επιπέδου κωδικού μηχανής για κατανομή αντικειμένου και κωδικό κλήσης μεθόδου, Οι υποδοχές και οι εισόδους / εξόδους επιτρέπουν τη χρήση "εξαίρεσης": λέξεις-κλειδιά για μη-αποκλειστικούς I / O υψηλής απόδοσης και ούτω καθεξής.
Τι νέο υπάρχει στην έκδοση 2.3.1:
- Εισάγεται ένα παγωμένο string String Pragma. Με το Ruby 2.1, το "str" .freeze έχει βελτιστοποιηθεί για να μειώσει την κατανομή αντικειμένων. Το Ruby 2.3 εισάγει ένα νέο μαγικό σχόλιο και επιλογή γραμμής εντολών για να παγώσει όλες τις λίστες συμβολοσειρών στα αρχεία προέλευσης. Επιπλέον, για τον εντοπισμό σφαλμάτων, μπορείτε να φτάσετε εκεί όπου το αντικείμενο δημιουργείται στο "Δεν μπορεί να τροποποιηθεί ο κατεψυγμένος String". σφάλμα από --debug = κατεψυγμένη-γραμμική-γραμμική γραμμή εντολών.
- Εισάγεται ένας ασφαλής χειριστής πλοήγησης (λεγόμενος μοναχικός χειριστής) &., ο οποίος υπάρχει ήδη σε C #, Groovy και Swift, για να διευκολύνει τον χειρισμό του null όπως το obj & .foo. Επίσης προστίθενται πίνακες # dig και Hash # dig. Σημειώστε ότι αυτό συμπεριφέρεται ως δοκιμή! της ενεργής υποστήριξης, η οποία χειρίζεται ειδικά μόνο το μηδέν.
- Το κόσμημα did_you_mean είναι ομαδοποιημένο. Το κόσμημα did_you_mean εμφανίζει τους υποψήφιους για το NameError και το NoMethodError για να διευκολύνει το σφάλμα.
- RubyVM :: InstructionSequence # to_binary και. load_from_binary εισάγονται ως πειραματικό χαρακτηριστικό. Με αυτές τις δυνατότητες, μπορούμε να δημιουργήσουμε ένα σύστημα προετοιμασίας ISeq (bytecode).
- Περιλαμβάνει επίσης πολλές βελτιώσεις επιδόσεων, για παράδειγμα, επανεξέταση της δομής δεδομένων εισόδου μεθόδου, εισαγωγή νέας δομής δεδομένων πίνακα, βελτιστοποίηση Proc # κλήσης, συντονισμός επιπέδου κωδικού μηχανής για κατανομή αντικειμένου και κωδικό κλήσης μεθόδου, Οι υποδοχές και οι εισόδους / εξόδους επιτρέπουν τη χρήση "εξαίρεσης": λέξεις-κλειδιά για μη-αποκλειστικούς I / O υψηλής απόδοσης και ούτω καθεξής.
Τι νέο υπάρχει στην έκδοση 2.3.0:
- Εισάγεται ένα παγωμένο string String Pragma. Με το Ruby 2.1, το "str" .freeze έχει βελτιστοποιηθεί για να μειώσει την κατανομή αντικειμένων. Το Ruby 2.3 εισάγει ένα νέο μαγικό σχόλιο και επιλογή γραμμής εντολών για να παγώσει όλες τις λίστες συμβολοσειρών στα αρχεία προέλευσης. Επιπλέον, για τον εντοπισμό σφαλμάτων, μπορείτε να φτάσετε εκεί όπου το αντικείμενο δημιουργείται στο "Δεν μπορεί να τροποποιηθεί ο κατεψυγμένος String". σφάλμα από --debug = κατεψυγμένη-γραμμική-γραμμική γραμμή εντολών.
- Εισάγεται ένας ασφαλής χειριστής πλοήγησης (λεγόμενος μοναχικός χειριστής) &., ο οποίος υπάρχει ήδη σε C #, Groovy και Swift, για να διευκολύνει τον χειρισμό του null όπως το obj & .foo. Επίσης προστίθενται πίνακες # dig και Hash # dig. Σημειώστε ότι αυτό συμπεριφέρεται ως δοκιμή! της ενεργής υποστήριξης, η οποία χειρίζεται ειδικά μόνο το μηδέν.
- Το κόσμημα did_you_mean είναι ομαδοποιημένο. Το κόσμημα did_you_mean εμφανίζει τους υποψήφιους για το NameError και το NoMethodError για να διευκολύνει το σφάλμα.
- RubyVM :: InstructionSequence # to_binary και. load_from_binary εισάγονται ως πειραματικό χαρακτηριστικό. Με αυτές τις δυνατότητες, μπορούμε να δημιουργήσουμε ένα σύστημα προετοιμασίας ISeq (bytecode).
- Περιλαμβάνει επίσης πολλές βελτιώσεις επιδόσεων, για παράδειγμα, επανεξέταση της δομής δεδομένων εισόδου μεθόδου, εισαγωγή νέας δομής δεδομένων πίνακα, βελτιστοποίηση Proc # κλήσης, συντονισμός επιπέδου κωδικού μηχανής για κατανομή αντικειμένου και κωδικό κλήσης μεθόδου, Οι υποδοχές και οι εισόδους / εξόδους επιτρέπουν τη χρήση "εξαίρεσης": λέξεις-κλειδιά για μη-αποκλειστικούς I / O υψηλής απόδοσης και ούτω καθεξής.
Τι νέο υπάρχει στην έκδοση 2.2.3: Αυτή η έκδοση περιλαμβάνει την ενημέρωση κώδικα ασφαλείας για έναν τομέα RubyGems όνομα ευπάθειας επαλήθευσης. CVE-2015-3900 Αίτημα για τροχαίο ευπάθεια στο RubyGems 2.4.6 και νωρίτερα
Τι νέο υπάρχει στην έκδοση 2.2.2:
- όνομα ευπάθειας επαλήθευσης κεντρικού υπολογιστή.
Τι είναι καινούργιο στην έκδοση 2.2.0:
- VM (μέθοδος cache)
- RGenGC (Ανατρέξτε στην παρουσίαση της RubyKaigi και της παρουσίασης του RubyConf 2013
- βελτιώσεις # 8481 # 8571
- αλλαγές σύνταξης:
- Δεκαδικό / Σύνθετο Λόγο # 8430
- αξία επιστροφής # 3753
- Bignum:
- χρησιμοποιήστε GMP # 8796
- Κομμάτι # τρίψιμο # 8414
- Socket.getifaddrs # 8368
- RDoc 4.1.0 και RubyGems 2.2.0
- Το "literal" .freeze τώρα βελτιστοποιείται # 9042
- προσθέστε την εξαίρεση # cause # 8257
- ενημερώστε τις βιβλιοθήκες όπως το BigDecimal, το JSON, το NKF, το Rake, το RubyGems και το RDoc
- Αφαιρέστε τις curses # 8584
Τι νέο υπάρχει στην έκδοση 2.0.0-p0:
- Βασικά χαρακτηριστικά γλώσσας:
- Λέξεις-κλειδιά λέξεων-κλειδιών, που παρέχουν ευελιξία στο σχεδιασμό API
- Module # prepend, που είναι ένας νέος τρόπος επέκτασης μιας κλάσης
- Ένα κυριολεκτικό% i, το οποίο δημιουργεί εύκολα μια σειρά συμβόλων
- __ dir__, το οποίο επιστρέφει την ονομασία του τρέχοντος αρχείου
- Η προεπιλεγμένη κωδικοποίηση UTF-8, η οποία κάνει πολλά μαγικά σχόλια αόρατα
- Ενσωματωμένες βιβλιοθήκες:
- Αναγνωρίσιμο # τεμπέλης και Enumerator :: Lazy, για (πιθανώς άπειρη) τεχνητή ροή
- Μέγεθος μεγέθους enumerator και εύρος # εύρος, για τεκμηριωμένη αξιολόγηση μεγέθους
- # to_h, η οποία είναι μια νέα συνθήκη για μετατροπή σε Hash
- Onigmo, ο οποίος είναι ένας νέος κινητήρας regexp (πηρούνι του Oniguruma)
- API αντιμετώπισης ασύγχρονων εξαίρεσης
- Υποστήριξη εντοπισμού σφαλμάτων:
- Υποστήριξη DTrace, η οποία επιτρέπει τη διάγνωση χρόνου εκτέλεσης στην παραγωγή
- TracePoint, το οποίο είναι ένα βελτιωμένο API εντοπισμού
- Βελτιώσεις επιδόσεων:
- Βελτιστοποίηση GC με σήμανση bitmap
- Ο πυρήνας # απαιτεί βελτιστοποίηση που κάνει την εκκίνηση Rails πολύ γρήγορη
- Βελτιστοποίηση VM, όπως η αποστολή μεθόδου
- Βελτιστοποίηση λειτουργίας Float
Τι νέο υπάρχει στην έκδοση 1.9.3-p392:
- Αυτή η έκδοση περιλαμβάνει ενημερώσεις κώδικα ασφαλείας σχετικά με το JSON και το REXML:
- Ένα θέμα ευπάθειας δημιουργίας αρνήσεων και μη ασφαλούς δημιουργίας αντικειμένων στο JSON (CVE-2013-0269)
- Διευρύνεται η ευπάθεια DoS σε REXML (βόμβα XML)
- Περιλαμβάνονται επίσης μερικές μικρές διορθώσεις σφαλμάτων
Τι νέο υπάρχει στην έκδοση 1.9.3-p385:
- RDoc.
Τι νέο υπάρχει στην έκδοση 1.9.3-p384:
- RDoc.
Τι νέο υπάρχει στην έκδοση 1.9.3-p286:
- $ SAFE διαφυγή ευπάθειας σχετικά με την εξαίρεση # to_s / NameError # to_s (CVE-2012-4464, CVE-2012-4466)
- Μη σκόπιμη δημιουργία αρχείου που προκαλείται από την εισαγωγή ενός παράνομου χαρακτήρα NUL
- άλλες πολλές διορθώσεις σφαλμάτων.
Τα σχόλια δεν βρέθηκε