Η Ruby είναι μια ισχυρή και δημοφιλής γλώσσα προγραμματισμού. Εκτός από τη δημοτικότητά του, βασίζεται σε αυτό ένα γνωστό πλαίσιο, το οποίο σας επιτρέπει να δημιουργείτε δροσερούς και δυναμικούς ιστότοπους διαφόρων θεμάτων. Αν κοιτάξετε την κατάταξη της TIOBE, τότε η γλώσσα είναι ανάμεσα στις είκοσι πιο δημοφιλείς γλώσσες στον κόσμο.

Η γλώσσα εμφανίστηκε το 1995 και θεωρείται μια νέα γλώσσα σε σύγκριση με τη C ή τη C ++, που εμφανίστηκαν το 1972 και το 1983, αντίστοιχα. Η γλώσσα έχει μια σειρά από πλεονεκτήματα και συγκεκριμένα χαρακτηριστικά που υλοποιούνται αποκλειστικά σε αυτήν, αν συγκρίνουμε άλλες δημοφιλείς γλώσσες προγραμματισμού.

Σχέδιο μαθήματος

Κατά τη διάρκεια του μαθήματος βίντεο, θα μάθετε τη γλώσσα Ruby χωρίς να χρησιμοποιήσετε πρόσθετα πλαίσια. Πρόσθετα μαθήματα για ρουμπίνιμπορείτε να βρείτε στο .

Κατά τη διάρκεια του μαθήματος, θα μάθουμε πώς να εγκαταστήσουμε και να εργαστούμε με τη γλώσσα, να μάθουμε τη σύνταξη Ρουμπίνι(μεταβλητές, βρόχοι, δηλώσεις υπό όρους), καθώς και πιο περίπλοκα πράγματα: OOP, εργασία με αρχεία, εξαιρέσεις, μεθόδους και πολλά άλλα θέματα.


Εγκατάσταση του Ruby στα Windows

Για να εγκαταστήσετε το Ruby στα Windows, χρησιμοποιήστε το RubyInstaller, το οποίο μπορείτε να κατεβάσετε από τον επίσημο ιστότοπο σε αυτόν τον σύνδεσμο. Κατεβάστε τελευταία έκδοσηκαι εγκαταστήστε το όπως κανονικό πρόγραμμα. Αφού ολοκληρωθεί η εγκατάσταση, θα δείτε ένα παρόμοιο παράθυρο:

Σε αυτό το παράθυρο, βεβαιωθείτε ότι το πλαίσιο ελέγχου είναι επιλεγμένο και, στη συνέχεια, θα ανοίξει μια άλλη εφαρμογή για εγκατάσταση ρουμπίνιστο σύστημα.

Στο παράθυρο που ανοίγει, πληκτρολογήστε 1 με τη σειρά και πατήστε Enter, αφού περιμένετε να τελειώσει η εγκατάσταση, πατήστε 2 και Enter και στο τέλος εκτελέστε την τρίτη εντολή πατώντας 3 και Enter.

Εγκατάσταση του Ruby σε Mac

Σε Mac, το Ruby είναι εγκατεστημένο από προεπιλογή, επομένως δεν χρειάζεται να κάνετε κάτι επιπλέον. Μπορείτε να ελέγξετε την έκδοση γλώσσας στο τερματικό με την ακόλουθη εντολή:

Εάν η έκδοση είναι παλιά, μπορείτε να κάνετε λήψη μιας νέας. Πρώτα πρέπει να κάνετε λήψη του διαχειριστή εκδόσεων Ruby. Αυτό γίνεται μέσω του τερματικού με την εντολή:

Curl -L https://get.rvm.io | bash -s σταθερός

Μετά την εγκατάσταση του διαχειριστή, επανεκκινήστε το τερματικό. Εκτελέστε την ακόλουθη εντολή:

Η λίστα Rvm είναι γνωστή

Μετά την επανεκκίνηση, μπορείτε να εγκαταστήσετε όποια έκδοση θέλετε. Στην περίπτωσή μας, εγκαταστάθηκε η έκδοση 2.4.2:

rvm εγκατάσταση ruby-2.4.2

Στο τέλος, μπορείτε να ελέγξετε ξανά την έκδοση και εάν είναι ακόμα παλιά, απλώς ορίστε την προεπιλογή στη νέα έκδοση.

Μέχρι σήμερα, υπάρχουν πολλές γλώσσες προγραμματισμού που έχουν τα δικά τους χαρακτηριστικά και μοτίβα. Αυτό το άρθρο θα συζητήσει ένα από αυτά.


Ιστορία του Ruby

Η Ruby κυκλοφορεί ως γλώσσα προγραμματισμού εδώ και πολύ καιρό. Για πρώτη φορά, οι εργασίες για την έκδοση αυτής της γνωστής γλώσσας ξεκίνησαν το 1993. πρώτος πρώτος επίσημη έκδοσηβγήκε το 1995. Δημιουργός της γλώσσας είναι ο Yukihiro Matsumoto. Ο ενθουσιασμός του για τον προγραμματισμό έγινε αντιληπτός ως μαθητής, αλλά η ιδέα να δημιουργήσει το δικό του εργαλείο εμφανίστηκε πολύ αργότερα. Ποια είναι λοιπόν τα αξιοσημείωτα χαρακτηριστικά αυτής της γλώσσας προγραμματισμού; Τι σας έκανε τόσο δημοφιλή στην παγκόσμια σκηνή;

Η γλώσσα προγραμματισμού Ruby είναι αρκετά ερμηνεύσιμη. Αυτή είναι μια γλώσσα υψηλού επιπέδου που διαθέτει δυναμική πληκτρολόγηση και εφαρμογή πολλαπλών νημάτων ανεξάρτητη από το χρόνο εκτέλεσης. Έχει τον δικό του απορριμματοσυλλέκτη. Στον τομέα των συντακτικών χαρακτηριστικών, είναι πιο κοντά στις γλώσσες Perl. Ως αποτέλεσμα της ευρείας ανάπτυξης του οικοσυστήματος, αυτή η πλατφόρμα έχει πάρει πολλά από τις Smalltalk, Python, Lisp και άλλες γλώσσες προγραμματισμού. Είναι επίσης πολύ σημαντικό ότι η γλώσσα Ruby και η εφαρμογή της είναι εντελώς δωρεάν. Από αυτό προκύπτει ότι ο καθένας έχει τη δυνατότητα να προτείνει τις δικές του αλλαγές. Εάν γίνουν αποδεκτά από την κοινότητα, θα συμπεριληφθούν στο επόμενη έκδοσηΓλώσσα.

Ruby Philosophy

Στη διαδικασία δημιουργίας του δικού του πνευματικού τέκνου, ο Matsumoto, όντας αφοσιωμένος θαυμαστής και λάτρης του αντικειμενοστρεφούς προγραμματισμού, έγινε ο συγγραφέας μιας συγκεκριμένης φιλοσοφίας για προγραμματιστές που επιλέγουν να μάθουν τη γλώσσα του. Έτσι, η γλώσσα προγραμματισμού Ruby έχει σχεδιαστεί για να δημιουργεί απλές και κατανοητές εφαρμογές. Η κύρια έμφαση δόθηκε στην απλότητα και την αναγνωσιμότητα του κώδικα και όχι στην ταχύτητα του προγράμματος. Αυτός είναι ακριβώς ο λόγος αυτή η πλατφόρμασυχνά επιλέγεται ως εισροή απαραίτητη για την εκπαίδευση των προγραμματιστών. Η κύρια ουσία στην οποία βασίζεται αυτή η γλώσσα είναι η αρχή της «ελάχιστης έκπληξης». Τι σημαίνει αυτό?

Και το γεγονός ότι το πρόγραμμα πρέπει να συμπεριφέρεται όπως περιμένει ο προγραμματιστής από αυτό. Σημαντικό μέρος της ιδεολογίας της γλώσσας, που εισήγαγε ο δημιουργός, είναι η μεγάλη της μεταβλητότητα. Έτσι, είναι δυνατό να επιτευχθεί το ίδιο αποτέλεσμα με διαφορετικούς τρόπους και λειτουργίες. Αυτό επιτρέπει σε κάθε προγραμματιστή να λύσει το πρόβλημα όπως κρίνει κατάλληλο από άποψη ορθότητας και ευκολίας. Αυτό είναι που στις περισσότερες περιπτώσεις επηρέασε τη δημοτικότητα της γλώσσας μεταξύ των επαγγελματιών στον τομέα της πληροφορικής.

Τα κύρια χαρακτηριστικά

Τι σημαίνει η Ruby όταν τη θεωρούμε ως γλώσσα προγραμματισμού; Πρώτα απ 'όλα, είναι μια αντικειμενοστραφή γλώσσα. Δεν διαθέτει πρωτόγονους τύπους, αφού όλες οι δομές και οι μονάδες δεδομένων θεωρούνται αντικείμενα. Αυτό είναι που τη διακρίνει από την ίδια γλώσσα Java, όπου υπάρχουν πρωτόγονες δομές δεδομένων. Όλες οι συναρτήσεις στο Ruby είναι μέθοδοι. Τα περισσότερα από τα χαρακτηριστικά και τις δυνατότητες εισάγονται από συγγραφείς από άλλες γλώσσες προγραμματισμού. Έτσι, μπορούμε με ασφάλεια να πούμε ότι το Ruby περιέχει καλύτερες ιδιότητεςπολλές άλλες γλώσσες και τεχνολογίες. Για παράδειγμα, το οικοσύστημα Ruby έχει τον δικό του συλλέκτη σκουπιδιών.

Η ιδέα του υιοθετήθηκε από το Smalltalk και την Java. Είναι σε θέση να εργαστεί με όλα τα αντικείμενα του συστήματος. Αυτός ο μηχανισμός καθιστά δυνατό τον καθαρισμό της μνήμης από αντικείμενα που δεν είναι πλέον σε ζήτηση, κάτι που συμβαίνει απαρατήρητο από τον χρήστη της εφαρμογής και τον προγραμματιστή. Ο συλλέκτης σκουπιδιών βοηθά τον προγραμματιστή να μην αποσπάται η προσοχή από τη διαχείριση μνήμης της εφαρμογής. Έτσι, μπορεί να επικεντρωθεί πλήρως στη λειτουργικότητα και τη χρηστικότητα.

Γλωσσικά παραδείγματα

Μερικοί προγραμματιστές που απάντησαν στην ερώτηση τι είναι η Ruby ως γλώσσα πολλαπλών παραδειγμάτων, βρέθηκαν άθελά τους στη φωτιά του επιχειρήματος. Αυτή η γλώσσα καθιστά δυνατή την εφαρμογή οποιουδήποτε από τα παραδείγματα προγραμματισμού με την ίδια επιτυχία. Από αυτά, αξίζει να επισημανθούν τα ακόλουθα:

Διαδικαστικό στυλ προγραμματισμού;
Αντικειμενοστραφή προσέγγιση?
λειτουργική προσέγγιση.

Ο προγραμματιστής επιτρέπεται να επιλέξει το παράδειγμα που είναι πιο κοντά του. Ταυτόχρονα, θα πρέπει να ληφθεί υπόψη ότι το σύνολο των εργαλείων του θα γίνει πιο περιορισμένο ή πιο αδύναμο από αυτό. Η γλώσσα προγραμματισμού Ruby τηρεί μόνο αυτή την επιλογή.

Λόγοι για φήμη

Στις περισσότερες περιπτώσεις δεδομένης γλώσσαςαπέκτησε φήμη λόγω της ευκολίας ανάπτυξης όλων των ειδών προσθηκών σε αυτό. Έτσι, ο αριθμός των πλαισίων και των βιβλιοθηκών αυξάνεται συνεχώς και οι εργασίες που επιλύουν από μόνες τους επιτρέπουν στους προγραμματιστές να φέρουν το προϊόν στην τελική κατάσταση το συντομότερο δυνατό. Συχνά, ο προγραμματισμός Ruby συνδέεται με τη δημιουργία διαδικτυακών εφαρμογών, καθώς και με την υποστήριξη της λειτουργίας διαφόρων τοποθεσιών και πλατφορμών Διαδικτύου. Η γλώσσα μπόρεσε να καταλάβει αυτή τη θέση λόγω της δικής της απλότητας και ταχύτητας ανάπτυξης. Αξίζει να σημειωθεί ότι οι εναλλακτικές πλατφόρμες (για παράδειγμα, η Java) απαιτούν πολύ περισσότερες γνώσεις και εμπειρία για την επίλυση παρόμοιων προβλημάτων.

Αξιοσημείωτα πλαίσια

Μιλώντας για γνωστά πλαίσια που υπάρχουν στην αγορά σήμερα, αξίζει να σημειωθεί μεταξύ αυτών και η Rails. Οι περισσότεροι χρήστες που απαντούν στην ερώτηση σχετικά με το τι είναι το Ruby, σε επίπεδο διαίσθησης, εννοούν το RubyOnRails. Αυτό το σύνολο στοιχείων λογισμικού είναι το βιομηχανικό πρότυπο για προγραμματιστές. Συντηρείται τακτικά, βρίσκεται σε συνεχή ανάπτυξη, ενημερώνεται από την κοινότητα των προγραμματιστών. Αξίζει να σημειωθεί ότι με όλα αυτά παραμένει δωρεάν.

Το παρουσιαζόμενο πλαίσιο είναι σε θέση να περιγράψει τα στοιχεία μιας διαδικτυακής εφαρμογής εντός των ορίων του προτύπου MVC (Model-View-Controller). Επιπλέον, είναι έτοιμο να παρέχει εξωγενή ενοποίηση με τον διακομιστή εφαρμογών, καθώς και μια διεπαφή που σας επιτρέπει να ανοίξετε την πρόσβαση στη βάση δεδομένων. Αυτά τα τρία στοιχεία καθιστούν δυνατή κυριολεκτικά μέσα σε λίγες ώρες την εγγραφή και την εκκίνηση στο Διαδίκτυο απλό blogή ιδιωτική ιστοσελίδα. Είναι δυνατή η δημιουργία στη γλώσσα προγραμματισμού Ruby ακόμη και εγγενής εφαρμογές για κινητά. Αυτό επιτυγχάνεται χρησιμοποιώντας τη βιβλιοθήκη RubyMotion. Μπορεί να εκτελεί κώδικα Ruby σε πλατφόρμες iOS, OS X και Android. Αυτή η βιβλιοθήκη έχει αναπτυχθεί από μια ιδιωτική ομάδα κατασκευαστών. Αυτό σημαίνει ότι θα πρέπει να πληρώσετε για τη χρήση, αλλά είναι άλλη μια επιβεβαίωση των ευρειών δυνατοτήτων της γλώσσας.

Η σημασία των γραπτών τεστ

Ένα άλλο σημαντικό συστατικό του οικοσυστήματος της γλώσσας Ruby, καθώς και του προσανατολισμένου στον ιστό τμήμα του, είναι τα πλαίσια και οι βιβλιοθήκες που έχουν σχεδιαστεί για τεστ γραφής. Το RubyOnRails χρησιμοποιεί τη φιλοσοφία BDD (συμπεριφορική ανάπτυξη). Αυτό σημαίνει ότι ο προγραμματιστής αναπτύσσει πρώτα μια ακολουθία δοκιμών που περιγράφουν την αναμενόμενη συμπεριφορά του προγράμματος. Στη συνέχεια δημιουργεί τον κωδικό που απαιτείται για να περάσει με επιτυχία αυτές οι δοκιμές. Το ανείπωτο πρότυπο σε αυτόν τον τομέα είναι το RSpec. Είναι ένα πλαίσιο που καθιστά δυνατή τη σύνταξη δοκιμαστικών περιπτώσεων σε γλώσσα κατανοητή ακόμη και σε άπειρους χρήστες.

Ruby Gems

Λόγω του καλά περιγραφόμενου προτύπου στο οποίο πρέπει να συμμορφώνονται τα πακέτα και οι βιβλιοθήκες Ruby, η δημιουργία πρόσθετων είναι εύκολη. Έτσι, μεταξύ των πολύτιμων λίθων, υπάρχει η ευκαιρία να βρεθούν ενότητες σχεδιασμένες να επιλύουν σχεδόν κάθε εργασία, που κυμαίνονται από την ενσωμάτωση με κοινωνικά δίκτυακαι πόρους τρίτων σε έτοιμες πλατφόρμες ηλεκτρονικού εμπορίου. Για να χρησιμοποιήσετε μια βιβλιοθήκη τρίτου κατασκευαστή, αρκεί να περιγράψετε την εξάρτηση του δικού σας έργου από μια συγκεκριμένη βιβλιοθήκη που βρίσκεται σε απομακρυσμένο ή τοπικό αποθετήριο. Στην επόμενη συναρμολόγηση δεδομένη βιβλιοθήκηφορτωμένο στην εφαρμογή αυτόματη λειτουργία. Αυτή η λύση απλοποιεί σημαντικά τη μετεγκατάσταση έργου μεταξύ των δημιουργών, επειδή δεν χρειάζεται να μοιράζεστε εξαρτήσεις για τη μη αυτόματη δημιουργία του έργου.

Έτσι, μπορούμε να συμπεράνουμε ότι η Ruby είναι μια ισχυρή και ευέλικτη γλώσσα προγραμματισμού που είναι κατάλληλη όχι μόνο για έμπειρους προγραμματιστές, αλλά και για αρχάριους.

Γλώσσα προγραμματισμού Rubyείναι μια γλώσσα προγραμματισμού καθαρά αντικειμενοστραφής που σχεδιάστηκε αρχικά για scripting. Συνδυάζει τη σύνταξη που έχει απορροφήσει αντικειμενοστρεφείς λειτουργίες Ada και Perl και Smalltalk και μοιράζεται επίσης κοινά χαρακτηριστικά με τα Python, Lisp και το βοηθητικό πρόγραμμα γραμμή εντολών- αυτό είναι ένα πλεονέκτημα όταν μαθαίνετε τα βασικά του προγραμματισμού.
Η γλώσσα προγραμματισμού Ruby έχει επί του παρόντος μόνο μία υλοποίηση του διερμηνέα Ruby, αν και γίνονται προσπάθειες για την υλοποίηση μιας διεπαφής Ruby (που ονομάζεται "Cardinal") για εικονική μηχανήΠαπαγάλος.
Η γλώσσα προγραμματισμού Ruby έχει πολλές χρήσιμα χαρακτηριστικά. Το Ruby υποστηρίζει επίσης υπερφόρτωση χειριστή και χειρισμό εξαιρέσεων. Επί του παρόντος, η γλώσσα προγραμματισμού Ruby στερείται υποστήριξης Unicode. Η Ruby έχει επαναλήπτες (οι οποίοι είναι παρόμοιοι με τους CLU και Sather). Το Ruby υποστηρίζει αφηρημένες αναπαραστάσεις συναρτήσεων (όπως και το Smalltalk και πολλές αρχάριες λειτουργικές γλώσσες προγραμματισμού). Το Ruby έχει ενσωματωμένη, συντακτική υποστήριξη κανονικές εκφράσεις Perl σε επίπεδο γλώσσας (όχι μόνο σε βιβλιοθήκες όπως στην Python και σε πολλές άλλες γλώσσες). Η Ruby υποστηρίζει αυτόματη συλλογή σκουπιδιών και δυναμική φόρτωση/συμπερίληψη μονάδων βιβλιοθήκης (ανάλογα με την αρχιτεκτονική) σε Microsoft Windows. Το Ruby έχει μεταφερθεί σε πολλές πλατφόρμες, συμπεριλαμβανομένων των Unix, Microsoft Windows, DOS, Mac OS X, OS/2, Amiga και άλλων.
Το Ruby είναι καθαρά αντικειμενοστρεφές: κάθε bit των δεδομένων αντικειμένων, συμπεριλαμβανομένων των τύπων που ορίζονται ως "πρωτόγονοι" σε άλλες γλώσσες. Κάθε συνάρτηση είναι μια μέθοδος. Είναι παρόμοιο με το Smalltalk, αλλά θεμελιωδώς διαφορετικό από την Java και την Python. Κάθε όνομα τιμής (όνομα μεταβλητής) σε ένα πρόγραμμα Ruby ορίζει μια αναφορά σε ένα αντικείμενο, όχι στο ίδιο το αντικείμενο. Η Ruby υποστηρίζει κληρονομικότητα με μεθόδους δυναμικής αποστολής, Mixins και Singleton. Το Ruby δεν υποστηρίζει πολλαπλή κληρονομικότητα, αλλά οι κλάσεις μπορούν να εισάγουν λειτουργικές μονάδες. Αν και μπορείτε να χρησιμοποιήσετε διαδικαστική σύνταξη στο Ruby, τα πάντα στο Ruby είναι ένα αντικείμενο με την έννοια Smalltalk, όχι προγραμματισμός Perl ή Python για ομοιώματα.
Η γλώσσα δημιουργήθηκε από τον Yukihiro Matsumoto (γνωστός και ως "Matz") Yukihiro Matsumoto (γνωστός και ως "Matz") στις 24 Φεβρουαρίου 1993. Η τρέχουσα σταθερή έκδοση είναι 1.8.0. Σημειώστε ότι το όνομα δεν είναι αρκτικόλεξο - είναι στην πραγματικότητα ένα λογοπαίγνιο της Perl. Σύμφωνα με τον συγγραφέα, το Ruby έχει σχεδιαστεί για την αρχή της ελάχιστης έκπληξης (POLS), που σημαίνει ότι η γλώσσα πρέπει να είναι απαλλαγμένη από τις παγίδες και τις ασυνέπειες που μαστίζουν άλλες γλώσσες.
Από τις Συχνές Ερωτήσεις για το Ruby: Αν σας αρέσει η Perl, τότε η χρήση της Ruby θα είναι υπέροχη λόγω της σύνταξής της. Αν σας αρέσει το Smalltalk, θα σας αρέσει το Ruby και θα σας αρέσει η σημασιολογία του. Αν σας αρέσει η Python, τότε μπορεί να αισθανθείτε ή όχι την τεράστια διαφορά στη φιλοσοφία σχεδιασμού μεταξύ Python και Ruby/Perl.
Το Ruby είναι δωρεάν και ανοιχτού κώδικα υπό την άδεια GPL ή Καλλιτεχνική Άδεια, όπως και η Perl.

Παραδείγματα
Ακολουθούν μερικά παραδείγματα κώδικα Ruby:

>> -199.abs # αριθμός -199 είναι ένα αντικείμενο. καλείται η μέθοδος ABS για αυτό. => 199 >> "Το Ruby είναι cool".length # Η μέθοδος αντικειμένου συμβολοσειράς ονομάζεται - μήκος συμβολοσειράς => 13 >> "Rick".index("c") => 2 >> "John".swapcase => "jOHN " >> #Arrays ?> .sort => >> .sort.reverse => # το ακόλουθο μπλοκ κώδικα θα εκτελεστεί 10 φορές 10 φορές ( # Αντικαταστήστε το " " με ", " και αποθηκεύστε στο string1 string1 = "Γεια σας κόσμο ".gsub( " ", ",") # append "!" στη μεταβλητή "string1" string1 += "!" # print μεταβλητή "string1", ακολουθούμενη από μια νέα γραμμή βάζει string1 )

Πώς να γίνετε επαγγελματίας ανάπτυξης ιστοσελίδων και να αρχίσετε να κερδίζετε; Φθηνά μαθήματα βίντεο με εισαγωγική εισαγωγή.

Στο αυτή τη στιγμήυπάρχει μεγάλο ποσόγλώσσες προγραμματισμού, καθεμία από τις οποίες έχει τα δικά της χαρακτηριστικά και μοτίβα. Αυτό το άρθρο θα συζητήσει ένα από αυτά.

Ιστορία του Ruby

Η Ruby ως γλώσσα προγραμματισμού υπάρχει εδώ και πολύ καιρό. Οι εργασίες για την πρώτη έκδοση αυτής της απίστευτα δημοφιλής γλώσσας σήμερα ξεκίνησαν το 1993 και η πρώτη επίσημη έκδοση χρονολογείται από το 1995. Ο δημιουργός της γλώσσας, Yukihiro Matsumoto, ήταν λάτρης του προγραμματισμού από τα φοιτητικά του χρόνια, αλλά η ιδέα να δημιουργήσει το δικό του εργαλείο του ήρθε πολύ αργότερα. Τι είναι λοιπόν τόσο αξιοσημείωτο σε αυτή τη γλώσσα προγραμματισμού που σήμερα κατέχει μία από τις ηγετικές θέσεις στον παγκόσμιο στίβο ανάπτυξης λογισμικού;

Η γλώσσα προγραμματισμού Ruby είναι μια εφαρμογή πολλαπλών νημάτων υψηλού επιπέδου, ανεξάρτητη από το χρόνο εκτέλεσης. Έχει τον δικό του σκουπιδοσυλλέκτη και από άποψη σύνταξης είναι πιο κοντά σε γλώσσες όπως η Perl. Με την ανάπτυξη του οικοσυστήματος, αυτή η πλατφόρμα δανείστηκε επίσης πολλά από Smalltalk, Python, Lisp και άλλες γλώσσες προγραμματισμού. Είναι επίσης πολύ σημαντικό για την ύπαρξη και τη συνεχή ανάπτυξη ότι η γλώσσα Ruby και η εφαρμογή της είναι εντελώς δωρεάν. Αυτό σημαίνει ότι οποιοσδήποτε μπορεί να προτείνει αλλαγές και, εάν γίνουν αποδεκτές από την κοινότητα, θα συμπεριληφθούν στην επόμενη έκδοση της γλώσσας.

Ruby Philosophy

Όταν δημιούργησε το πνευματικό του τέκνο, ο Matsumoto, ως αφοσιωμένος θαυμαστής και λάτρης του αντικειμενοστρεφούς προγραμματισμού, δημιούργησε μια συγκεκριμένη φιλοσοφία για προγραμματιστές που θέλουν να κατακτήσουν τη γλώσσα του. Έτσι, η γλώσσα προγραμματισμού Ruby έχει σχεδιαστεί για να δημιουργεί απλές αλλά κατανοητές εφαρμογές. Η κύρια έμφαση του Ruby δεν είναι στην ταχύτητα του προγράμματος, αλλά στην απλότητα και την αναγνωσιμότητα του κώδικα.

Επομένως, αυτή η πλατφόρμα επιλέγεται πολύ συχνά ως εισροή για την εκμάθηση προγραμματισμού. Η κύρια αρχή στην οποία βασίζεται αυτή η γλώσσα είναι η λεγόμενη αρχή της "λιγότερης έκπληξης" - αυτό σημαίνει ότι το πρόγραμμα πρέπει να συμπεριφέρεται όπως περιμένει ο συγγραφέας (προγραμματιστής) από αυτό. Ένα άλλο σημαντικό κομμάτι της ιδεολογίας της γλώσσας, που εισήγαγε ο δημιουργός, είναι η μεγάλη της μεταβλητότητα. Το ίδιο αποτέλεσμα μπορεί να επιτευχθεί με διαφορετικούς τρόπους και λειτουργίες. Χάρη σε αυτό, κάθε προγραμματιστής μπορεί να λύσει το πρόβλημα με τον τρόπο που θεωρεί πιο σωστό και βολικό. Αυτό επηρέασε σε μεγάλο βαθμό τη δημοτικότητα της γλώσσας μεταξύ των επαγγελματιών της πληροφορικής.

Κύρια χαρακτηριστικά της γλώσσας

Τι είναι η "Ruby" ως γλώσσα προγραμματισμού; Είναι κυρίως μια αντικειμενοστραφή γλώσσα. Δεν υπάρχουν πρωτόγονοι τύποι σε αυτό - όλες οι δομές και οι μονάδες δεδομένων είναι αντικείμενα (σε αντίθεση με την ίδια γλώσσα Java, έχει πρωτόγονες δομές δεδομένων). Κάθε συνάρτηση στο Ruby είναι μια μέθοδος. Πολλές δυνατότητες και δυνατότητες έχουν προστεθεί από δημιουργούς από άλλες γλώσσες προγραμματισμού, επομένως μπορούμε να πούμε με ασφάλεια ότι η Ruby (η γλώσσα) έχει απορροφήσει το καλύτερο από πολλές άλλες γλώσσες και τεχνολογίες.

Έτσι, για παράδειγμα, το οικοσύστημα Ruby έχει τον δικό του συλλέκτη σκουπιδιών, η ιδέα του οποίου υιοθετήθηκε από το Smalltalk και την Java, και ο οποίος μπορεί να λειτουργήσει με όλα τα αντικείμενα του συστήματος. Αυτός ο μηχανισμός καθιστά δυνατό, ανεπαίσθητα για τον χρήστη της εφαρμογής και τον προγραμματιστή, τον καθαρισμό της μνήμης από αντικείμενα που δεν θα χρειάζονται πλέον. Ο συλλέκτης απορριμμάτων επιτρέπει στον προγραμματιστή στις περισσότερες περιπτώσεις να μην αποσπάται η προσοχή από τη διαχείριση μνήμης εφαρμογών, αλλά να επικεντρώνεται στη λειτουργικότητα και τη χρηστικότητα.

Γλωσσικά παραδείγματα

Απαντώντας στην ερώτηση σχετικά με το τι είναι το "Ruby" ως γλώσσα πολλαπλών παραδειγμάτων, μπορεί απροσδόκητα να βρεθείτε στη φωτιά ενός επιχειρήματος. Εξάλλου, αυτή η γλώσσα σάς επιτρέπει να χρησιμοποιείτε εξίσου επιτυχημένα οποιοδήποτε από τα παραδείγματα προγραμματισμού: διαδικαστικό στυλ προγραμματισμού, αντικειμενοστρεφές ή ο Προγραμματιστής είναι ελεύθερος να επιλέξει μόνος του το παράδειγμα που είναι πιο κοντά του και το σύνολο των εργαλείων του δεν θα γίνει πιο περιορισμένη ή πιο αδύναμη από αυτό. Η γλώσσα προγραμματισμού Ruby ενθαρρύνει μόνο αυτήν την επιλογή.

Λόγοι δημοτικότητας

Από πολλές απόψεις, αυτή η γλώσσα έχει γίνει δημοφιλής λόγω της ευκολίας ανάπτυξης διαφόρων πρόσθετων σε αυτήν. Ως εκ τούτου, ο αριθμός των πλαισίων και των βιβλιοθηκών αυξάνεται συνεχώς και οι εργασίες που επιλύουν μόνες τους επιτρέπουν στους προγραμματιστές να όσο το δυνατόν συντομότεραφέρετε το προϊόν σε κατάσταση ετοιμότητας. Πολύ συχνά, ο προγραμματισμός «Ruby» συνδέεται με την ανάπτυξη διαδικτυακών εφαρμογών και την υποστήριξη για τη λειτουργία διαφόρων τοποθεσιών και πλατφορμών Διαδικτύου. Η γλώσσα κατέλαβε αυτή τη θέση λόγω της απλότητας και της ταχύτητας ανάπτυξής της. Εξάλλου, οι εναλλακτικές πλατφόρμες (για παράδειγμα, η Java) απαιτούν πολύ περισσότερη γνώση και εμπειρία για την επίλυση των ίδιων προβλημάτων.

Δημοφιλή πλαίσια

Αν μιλάμε για δημοφιλή πλαίσια που υπάρχουν στην αγορά σήμερα, τότε το Rails αξίζει να τονίσουμε ανάμεσά τους. Πολλοί άνθρωποι, όταν ρωτήθηκαν τι είναι το "Ruby", εννοούν διαισθητικά το RubyOnRails. Αυτό το σετ εξαρτήματα λογισμικούέχει γίνει βιομηχανικό πρότυπο μεταξύ των προγραμματιστών. Υποστηρίζεται συνεχώς, αναπτύσσεται και συμπληρώνεται από την προγραμματιστική κοινότητα, ενώ παραμένει δωρεάν. Αυτό το πλαίσιο περιγράφει τα στοιχεία μιας διαδικτυακής εφαρμογής εντός του πλαισίου του μοτίβου MVC (Model-View-Controller) και παρέχει επίσης out-of-the-box ενοποίηση και μια διεπαφή για πρόσβαση στη βάση δεδομένων. Αυτά τα 3 στοιχεία, στην πραγματικότητα, σας επιτρέπουν να γράψετε και να ξεκινήσετε ένα απλό blog ή μια ιδιωτική ιστοσελίδα στο Διαδίκτυο μέσα σε λίγες ώρες.

Στη γλώσσα προγραμματισμού Ruby, μπορείτε ακόμη και να δημιουργήσετε εγγενείς εφαρμογές για κινητά, χάρη στη βιβλιοθήκη RubyMotion. Σας επιτρέπει να εκτελείτε κώδικα Ruby σε πλατφόρμες iOS, OS X και Android. Δημιουργήθηκε από μια ιδιωτική ομάδα προγραμματιστών, επομένως πρέπει να πληρώσετε για να το χρησιμοποιήσετε, αλλά επιβεβαιώνει για άλλη μια φορά τα πλούσια χαρακτηριστικά της γλώσσας.

Η σημασία των γραπτών τεστ

Ένα άλλο σημαντικό συστατικό του γλωσσικού οικοσυστήματος Ruby, και του προσανατολισμένου στον ιστό τμήμα του, είναι τα πλαίσια και οι βιβλιοθήκες για τεστ γραφής. Το RubyOnRails κηρύττει τη φιλοσοφία του BDD (συμπεριφορική ανάπτυξη), που σημαίνει ότι πρώτα ο προγραμματιστής δημιουργεί μια ακολουθία δοκιμών που περιγράφουν την αναμενόμενη συμπεριφορά του προγράμματος και στη συνέχεια δημιουργεί κώδικα που πρέπει να περάσει με επιτυχία αυτές τις δοκιμές. Το ανείπωτο πρότυπο σε αυτόν τον τομέα είναι το RSpec - αυτό το πλαίσιο σάς επιτρέπει να γράφετε δοκιμαστικές περιπτώσεις σε μια γλώσσα κατανοητή ακόμη και από άπειρους χρήστες που βρίσκονται σε εξέλιξη.

Ruby Gems

Χάρη στο λεπτομερές πρότυπο με το οποίο πρέπει να συμμορφώνονται όλα τα πακέτα και οι βιβλιοθήκες Ruby, η ανάπτυξη πρόσθετων δεν είναι δύσκολη. Επομένως, μεταξύ των λεγόμενων πολύτιμων λίθων (από τα αγγλικά - ένας πολύτιμος λίθος) μπορείτε να βρείτε ενότητες για την επίλυση σχεδόν οποιουδήποτε προβλήματος - από την ενοποίηση με κοινωνικά δίκτυα και υπηρεσίες τρίτων έως έτοιμες πλατφόρμες για ηλεκτρονικό εμπόριο. Το μόνο που χρειάζεται για να χρησιμοποιήσετε μια βιβλιοθήκη τρίτου μέρους είναι να περιγράψετε την εξάρτηση του έργου σας από κάποια βιβλιοθήκη που βρίσκεται σε απομακρυσμένο ή τοπικό αποθετήριο και στην επόμενη έκδοση, αυτή η βιβλιοθήκη θα φορτωθεί αυτόματα στην εφαρμογή. Διευκολύνει επίσης τη μετεγκατάσταση του έργου μεταξύ προγραμματιστών, καθώς δεν χρειάζεται να μοιράζεστε μη αυτόματα εξαρτήσεις για τη δημιουργία του έργου.

Επομένως, αν σας ρωτήσουν ξανά τι είναι η Ruby, τότε μπορείτε να δηλώσετε με σιγουριά ότι είναι μια ισχυρή και ευέλικτη γλώσσα προγραμματισμού που σίγουρα ταιριάζει τόσο σε έμπειρους προγραμματιστές όσο και σε αρχάριους που θέλουν να κατακτήσουν τη δύσκολη τέχνη του προγραμματισμού. Διαθέτει τα εργαλεία για τη δημιουργία οποιασδήποτε εφαρμογής - από προγράμματα επιτραπέζιου υπολογιστή έως υπηρεσίες κινητής τηλεφωνίαςκαι διαδικτυακές πλατφόρμες.

Εισαγωγή

Σήμερα, η μηχανή αναζήτησης είναι μια από τις πιο ευρέως χρησιμοποιούμενες μεθόδους πλοήγησης στον κυβερνοχώρο, η οποία αυξάνεται και επεκτείνεται κάθε μέρα της ύπαρξής της. Είναι σαφές ότι οι αλγόριθμοι αναζήτησης πληροφοριών πρέπει να αυξάνουν συνεχώς την πολυπλοκότητα και την αποτελεσματικότητά τους. Ο σκοπός αυτής της εργασίας δεν είναι να περιγράψει τους αλγόριθμους ανάκτησης πληροφοριών, αλλά απλώς να δώσει μια εισαγωγική περιγραφή τους. Επίσης, σκοπός αυτής της εργασίας είναι η συγγραφή μιας διαδικτυακής εφαρμογής αναζήτησης στη γλώσσα προγραμματισμού Ruby.

Με βάση τα παραπάνω μπορούν να διαμορφωθούν οι ακόλουθοι στόχοι:

Εισαγωγή στους αλγόριθμους ανάκτησης πληροφοριών

Σύνταξη μιας εφαρμογής web αναζήτησης

Οι καθορισμένοι στόχοι πραγματοποιούνται με τη βοήθεια των εργασιών:

Εξερευνώντας τη Θεωρία Αναζήτησης

Εκμάθηση της γλώσσας προγραμματισμού Ruby

Εισαγωγή στη γλώσσα σήμανσης Haml

Εισαγωγή στη μεταγλώσσα Sass

Κωδικοποιήστε μια διαδικτυακή εφαρμογή χρησιμοποιώντας Ruby, Haml και Sass

Εντοπίστε σφάλματα στην εφαρμογή που προκύπτει

Θεωρητικό μέρος

Θεωρία ανάκτησης πληροφοριών

Πρώτα πρέπει να ορίσετε μια μηχανή αναζήτησης.

Σύστημα αναζήτησης -συγκρότημα λογισμικού και υλικού με διεπαφή ιστού που παρέχει τη δυνατότητα αναζήτησης πληροφοριών στο Διαδίκτυο.

Σύμφωνα με τις λειτουργίες που εκτελούνται και τις εργασίες που πρέπει να επιλυθούν, οι μηχανές αναζήτησης ταξινομούνται σε:

Οι αναφορές είναι ο πιο συνηθισμένος τύπος συναρτήσεων πληροφοριακά συστήματα, και συνίσταται στην παροχή στους συνδρομητές του συστήματος της ευκαιρίας να λαμβάνουν δεδομένα εγκατάστασης για ορισμένες κατηγορίες αντικειμένων.

Οι μηχανές αναζήτησης είναι η πιο κοινή κατηγορία πληροφοριακών συστημάτων. Σε γενικές γραμμές, η φόρμα μπορεί να θεωρηθεί ως ένας χώρος πληροφοριών, που δίνεται με όρους πληροφοριακής-λογικής περιγραφής της θεματικής περιοχής).

επίλυση. Η λειτουργία του συστήματος είναι να επεξεργάζεται τις πληροφορίες στο σύστημα σύμφωνα με ορισμένους αλγόριθμους υπολογισμού για διάφορους σκοπούς.

Σύμφωνα με τη φύση της παροχής μιας λογικής οργάνωσης των αποθηκευμένων πληροφοριών, οι μηχανές αναζήτησης χωρίζονται σε παραστατικές, τεκμηριωτικές και γεωπληροφορίες.

Έτσι, οι μηχανές γεγονότων αναζήτησης συλλέγουν και αποθηκεύουν δεδομένα με τη μορφή πολλών περιπτώσεων ενός ή περισσότερων τύπων δομικών στοιχείων. Κάθε ένα από αυτά τα στιγμιότυπα δομικών στοιχείων ή κάποιοι από τους συνδυασμούς τους αντικατοπτρίζουν πληροφορίες, για οποιοδήποτε γεγονός, γεγονός. Η δομή κάθε τύπου πληροφοριακού αντικειμένου αποτελείται από ένα πεπερασμένο σύνολο λεπτομερειών που αντικατοπτρίζουν τις κύριες πτυχές και τα χαρακτηριστικά των πληροφοριών για αντικείμενα αυτής της θεματικής περιοχής.

Στα συστήματα ανάκτησης τεκμηρίωσης, ένα μεμονωμένο στοιχείο πληροφοριών είναι ένα έγγραφο που δεν χωρίζεται σε μικρότερα στοιχεία και οι πληροφορίες, κατά κανόνα, δεν είναι δομημένες κατά την εισαγωγή τους ή δομούνται σε περιορισμένη μορφή. Για το έγγραφο εισόδου, μπορούν να οριστούν ορισμένες επίσημες θέσεις - ημερομηνία κατασκευής, εκτελεστής, θέμα. Ορισμένοι τύποι πληροφοριακών συστημάτων τεκμηρίωσης διασφαλίζουν τη δημιουργία μιας λογικής σχέσης μεταξύ των εισαγόμενων εγγράφων - υποταγή ως προς το σημασιολογικό περιεχόμενο.

Τα γεωχωρικά δεδομένα είναι οργανωμένα ως ξεχωριστά πληροφοριακά αντικείμενασυνδέονται με μια κοινή ηλεκτρονική τοπογραφική βάση. Συστήματα γεωπληροφοριώνεφαρμόζεται σε υποστήριξη πληροφοριώνσε αυτές τις θεματικές περιοχές, τη δομή των αντικειμένων πληροφοριών και των διαδικασιών στις οποίες υπάρχει μια γεωγραφική συνιστώσα.

Υπάρχει επίσης η ακόλουθη ταξινόμηση των μηχανών αναζήτησης (Εικ. 1.)

Εικ.1. Ταξινόμηση μηχανών αναζήτησης

Μιλώντας για μηχανές αναζήτησης, αξίζει να αναφερθεί η θεωρία των ερωτημάτων αναζήτησης και η ταξινόμησή τους. Έτσι το 1949, ένας καθηγητής φιλολογίας από το Χάρβαρντ περιέγραψε μερικά από τα χαρακτηριστικά της ανάκτησης πληροφοριών.

Ο καθηγητής Zipf παρατήρησε ότι οι μεγάλες λέξεις είναι λιγότερο κοινές σε κείμενα οποιασδήποτε γλώσσας από τις μικρές. Με βάση αυτή την παρατήρηση, ο Zipf συνήγαγε δύο νόμους:

Ο πρώτος νόμος συσχετίζει τη συχνότητα εμφάνισης (εμφάνισης) μιας συγκεκριμένης λέξης με την κατάταξη αυτής της συχνότητας. Στις λέξεις που εμφανίζονται πιο συχνά αποδίδεται μια κατάταξη ίση με μία. Αυτές οι λέξεις που είναι λιγότερο κοινές - μια κατάταξη ίση με δύο, κ.λπ. Ο Zipf βρήκε ότι το γινόμενο της συχνότητας εμφάνισης μιας λέξης και της κατάταξής της είναι μια σταθερή τιμή.

Μια τέτοια εξάρτηση εμφανίζεται συνήθως ως υπερβολή. Η τιμή της σταθεράς Zipf για διαφορετικές γλώσσεςδιαφορετικό, αλλά εντός της ίδιας γλωσσικής ομάδας παραμένει αμετάβλητο. Για τη ρωσική γλώσσα, η σταθερά είναι περίπου 0,06-0,07.

Ο Zipf προσδιόρισε ότι η συχνότητα εμφάνισης των λέξεων και ο αριθμός των λέξεων που περιλαμβάνονται στο κείμενο με μια δεδομένη συχνότητα είναι επίσης αλληλένδετες.

Από τη μία πλευρά, η καμπύλη που προκύπτει θα διατηρήσει τις παραμέτρους της για όλα τα κείμενα της ίδιας γλώσσας. Από την άλλη πλευρά, ανεξάρτητα από τη γλώσσα σε ποια γλώσσα είναι γραμμένο το κείμενο, το σχήμα της καμπύλης Zipf θα παραμείνει αμετάβλητο. Μόνο οι συντελεστές θα διαφέρουν.

Οι νόμοι του Zipf είναι παγκόσμιοι. Δεν ισχύουν μόνο για κείμενα. Με παρόμοια μορφή, για παράδειγμα, ξεχύνεται η σχέση μεταξύ του αριθμού των πόλεων και του αριθμού των κατοίκων που ζουν σε αυτές. Τα χαρακτηριστικά της δημοτικότητας των πόρων του Διαδικτύου αντιστοιχούν στους νόμους του Zipf. Οι νόμοι του Zipf αντικατοπτρίζουν την «ανθρώπινη» προέλευση των αντικειμένων.

Σε κάθε περίπτωση, το καθένα ερώτημα αναζήτησηςμπορεί να ταξινομηθεί σύμφωνα με τρία χαρακτηριστικά: μήκος ερωτήματος, σαφήνεια ερωτήματος, στάδιο αναζήτησης.

Έτσι, ανάλογα με το μήκος, όλα τα αιτήματα χωρίζονται σε

Μονολεκτική ("προώθηση")

δύο λέξεις (" προώθηση αναζήτησης»

Τρεις λέξεις ("προώθηση επαγγελματικής αναζήτησης")

Λεπτό ("προώθηση επαγγελματικής αναζήτησης φθηνά")

Με σαφήνεια, όλα τα αιτήματα χωρίζονται σε:

Ρητό αίτημα ("τιμή για iPad 2")

Ασαφές αίτημα ("Ozone", που μπορεί να είναι και φυσικό αέριο και το όνομα του καταστήματος και το όνομα του διευθυντή)

Σύμφωνα με το στάδιο αναζήτησης, όλα τα αιτήματα χωρίζονται σε:

Επίγνωση του προβλήματος ("ο ιστότοπος δεν λειτουργεί")

Αναζήτηση λύσης ("φιλοξενία ιστοτόπου")

Επιλογή απόφασης ("ποιο hosting να επιλέξω")

Αναζήτηση του τόπου της συναλλαγής ("τιμολόγια φιλοξενίας masterhost")

Γλώσσα προγραμματισμού RUBY

Η Ruby είναι μια δυναμική, ανακλαστική, ερμηνευμένη γλώσσα προγραμματισμού υψηλού επιπέδου για γρήγορο και βολικό αντικειμενοστραφή προγραμματισμό. Η γλώσσα είναι ανεξάρτητη από λειτουργικό σύστημαεφαρμογή πολλαπλών νημάτων, ισχυρή δυναμική πληκτρολόγηση, συλλογή σκουπιδιών και πολλά άλλα χαρακτηριστικά. Η Ruby είναι κοντά στη σύνταξη του Perl και του Eiffel, στην αντικειμενοστραφή προσέγγιση - στο Smalltalk. Επίσης, ορισμένα χαρακτηριστικά της γλώσσας προέρχονται από Python, Lisp, Dylan και Clu. Μέχρι σήμερα, ο διερμηνέας Ruby έχει εφαρμοστεί σχεδόν σε όλες τις πλατφόρμες (Unix, Win32, OS X). Δημιουργός της γλώσσας είναι ο Yukihiro Matsumoto.

Η Ruby είναι μια πλήρως αντικειμενοστραφής γλώσσα προγραμματισμού. Τα πάντα είναι ένα αντικείμενο και οι συναρτήσεις είναι μέθοδοι αυτών των αντικειμένων.

Κύριες ιδιότητες του Ruby:

Γλώσσα ερμηνείας:

Δυνατότητα απευθείας κλήσεων συστήματος.

Ισχυρή υποστήριξη για πράξεις με συμβολοσειρές και κανόνες (κανονικές εκφράσεις).

Άμεση εκδήλωση αλλαγών κατά την ανάπτυξη.

Κανένα στάδιο μεταγλώττισης.

Απλός και γρήγορος προγραμματισμός:

Δεν χρειάζεται να δηλώσετε μεταβλητές.

Οι μεταβλητές πληκτρολογούνται δυναμικά.

Απλή και συνεπής σύνταξη.

Αυτόματος έλεγχοςμνήμη εργασίας.

Αντικειμενοστραφής προγραμματισμός:

Όλα είναι ένα αντικείμενο. Ακόμη και το όνομα της κλάσης είναι ένα παράδειγμα της κλάσης Class.

Τάξεις, μέθοδοι, κληρονομικότητα, πολυμορφισμός, ενθυλάκωση και ούτω καθεξής.

Μεμονωμένες μέθοδοι.

Μίξεις που χρησιμοποιούν ενότητες (η ικανότητα επέκτασης μιας κλάσης χωρίς κληρονομικότητα).

Επαναληπτικοί και κλεισίματα.

Εκτεταμένες δυνατότητες μεταπρογραμματισμού.

Εγκαταστάσεις:

Απεριόριστο εύρος ακέραιων τιμών.

Μοντέλο χειρισμού εξαίρεσης.

Όλοι οι τελεστές επιστρέφουν τιμές, ακόμη και δομές ελέγχου.

Εξαίρεση μηχανισμός σύλληψης.

Υποστήριξη νήματος. τόσο εγγενή όσο και συστήματα της οικογένειας UNIX.

Ελαττώματα:

Το ανεξέλεγκτο ορισμένων διεργασιών (όπως η εκχώρηση μνήμης), η αδυναμία ορισμού δομών ή υπορουτίνων δεδομένων χαμηλού επιπέδου.

Η αδυναμία μεταγλώττισης και η συνοδευτική βελτιστοποίηση του προγράμματος.

ειλικρίνεια πηγαίος κώδικαςακόμα και στο ολοκληρωμένο πρόγραμμα

Η συνέπεια των δύο πρώτων ελλείψεων είναι πολύ χαμηλή ταχύτηταεκκίνηση και εκτέλεση προγραμμάτων.

Αξίζει επίσης να σημειωθεί ότι υπάρχουν πολλές ενότητες (πρόσθετα) για τη Ruby για σχεδόν κάθε τύπο εργασίας (προγραμματισμός διεπαφής, σύνθετοι μαθηματικοί υπολογισμοί, εργασία με ήχο, βίντεο, 3D κ.λπ.). Ως εκ τούτου, αυτή η γλώσσα προγραμματισμού επιλέχθηκε ως η κύρια για τη συγγραφή του πρακτικού μέρους.

1.3. Απλοποιημένη γλώσσα σήμανσης HAML

Η Haml είναι μια γλώσσα σήμανσης για απλοποιημένη παραγωγή XHTML. Το HAML μεταγλωττίζεται σε HTML. Το Haml είναι πολύ πιο απλό από το Html», καθώς σας επιτρέπει να απλοποιήσετε και να επιταχύνετε τη σύνταξη διαδικτυακών εφαρμογών.

Για παράδειγμα, αυτό το κομμάτι κώδικα Haml

%html( html_attrs("en") )

%title Το ιστολόγιό μου

%meta(http-equiv="Content-Type" content="text/html; charset=utf-8")

stylesheet_link_tag "κύριος"

%h1 Το ιστολόγιό μου

Εγγραφές %h2

- @entries.each κάνει |καταχώρηση|

%h3.title= καταχώριση.τίτλος

%p.date= entry.posted.strftime("%A, %B %d, %Y")

%p.body= entry.body

Με την επιφύλαξη παντός δικαιώματος © Ivan

Ο κώδικας HTML μετασχηματίζεται

Το blog μου