..


Σύνδεσμοι διαφημιζόμενων

Σύνταξη εναλλακτικές λύσεις σε Ruby

Το άρθρο γράφτηκε από τον Claudio Garau

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

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

Μια λύση, όπως τα ακόλουθα:

 



 βάζει 1,2,3,4,5,6,7,8,9,10

 
φαίνεται εκ πρώτης όψεως πολύ βολικό, αλλά αν γκάμα μας, ήταν πολύ μεγαλύτερη (δηλαδή μεταξύ "1" και "100"), ξανασκεφτείτε το, αυτό που ψάχνουμε είναι ένα σενάριο που χρειάζεται μόνο 2 παραμέτρους: τις αρχικές τιμές Τελική (ελάχιστη και μέγιστη) ότι στήριγμα του φάσματος.
Με τον τρόπο αυτό, ο κωδικός που χρησιμοποιείται μπορεί να χρησιμοποιηθεί ξανά για την παραγωγή παραγωγή τους με μεγάλη "ογκώδη".

Κάθε pemette εμείς κατασκευάσει μια αρχική τιμή για την αύξηση μέχρι να φτάσει η τιμή περάσει ως επιχείρημα για να το κατασκευάσει τον τερματισμό, θα δούμε ένα παράδειγμα:

 



 . (1 .. 10) Κάθε κάνουμε | i |



  



 βάζει το







 τέλος

 
Έτσι, για κάθε (το καθένα) τιμή στην περιοχή αντίστοιχο ποσοστό θα τυπωθεί μέχρι να φτάσει το ποσό είναι ίσο με αυτό που ορίζει τους όρους που προβλέπονται από τη δεύτερη παράμετρο (στην περίπτωσή μας "10").
Οι δύο κάθετες γραμμές που περικλείουν τη μεταβλητή προσαύξησης ("| i |") χρησιμοποιούνται για τον προσδιορισμό του μεταβλητού μέσα στο βρόχο να απομονώνεται από το υπόλοιπο του κώδικα, δεδομένου ότι αντιπροσωπεύει μια αξία "από μόνη της».

Το ίδιο αποτέλεσμα θα μπορούσε να επιτευχθεί με τη μεταβολή η σύνταξη που χρησιμοποιείται leggermanete και «σώσει» το ποσό του κωδικού με τον τύπο:

 



 (1 .. 10) Κάθε. {| I | βάζει i}

 
Η τιμή που επιστρέφεται θα πρέπει να επιστραφεί από την εκτέλεση του δήλωση ("{| i | βάζει i}") vaolore επαναλαμβάνονται για κάθε μία από τις φάσματος, με βάση δύο παραμέτρους που σηματοδοτούν την εκτέλεση.

Μια εναλλακτική λύση θα μπορούσε να βασίζεται στη χρήση του βρόχου, ως εξής:

 



 for i in (1 .. 10)



  



 βάζει το







 τέλος

 
Και πάλι έχουμε περάσει το 2-κύκλο παραμέτρους που καθορίζουν το εύρος των τιμών ότι η μεταβλητή "i" μπορούν να έχουν αυξηθεί κατά τη διάρκεια των 10 επαναλήψεων που είναι απαραίτητες, όπου η τιμή "10" αντιπροσωπεύει την προϋπόθεση ότι τελειώνει ο κύκλος.

Αλλά δεν τελείωσε εναλλακτικές λύσεις μας, ας δούμε αυτήν την απλή γραμμή κώδικα:

 



 1.upto (10) {| i | βάζει i}

 
έως και μια μέθοδο για τα αντικείμενα που θα εκπροσωπήσει αριθμητικούς τύπους, η σύνταξη αυτής της μεθόδου είναι η εναλλακτική λύση με αυτή του "για" γράφουν "x.upto (y)" είναι στην πραγματικότητα ισοδύναμη με τον τύπο "για (i = x, x < = y, i + +) {...} ".
Στην πράξη, με το "μέχρι" μπορούμε να πάρουμε το ίδιο αποτέλεσμα ενός κύκλου, χωρίς κατ 'ανάγκη την προσφυγή σε έναν βρόχο, το αποτέλεσμα είναι η εξοικονόμηση από την άποψη της πληκτρολογώντας τον κωδικό και των πόρων που παρέχονται από το σύστημα για να εκτελέσει μια εντολή.

Τώρα ας δούμε ένα τελευταίο παράδειγμα:

 



 * Puts (1 .. 10)

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

Στην ίδια κατηγορία ...
E-Learning
Ruby και Ruby on Rails (Μάθημα) Ruby και Ruby on Rails (Μάθημα)
Δημιουργία λογισμικού και Web εφαρμογές με Ρουμπίνι και RoR. Από 39 €.
Σύνδεσμοι διαφημιζόμενων