Πώς να διαβάσετε διαδοχικές εισόδους με το Node.js Readline Module;

Pos Na Diabasete Diadochikes Eisodous Me To Node Js Readline Module



Ο ' γραμμή ανάγνωσης Η λειτουργική μονάδα Node.js είναι ιδανική για χρήση σε σενάρια όπου πρέπει να ληφθούν περισσότερες από μία διαδοχικές εισροές από τον τελικό χρήστη. Αυτή η μονάδα αναδιπλώνει την τυπική έξοδο και είσοδο που βοηθά στην ανάγνωση της ροής εισόδου γραμμή προς γραμμή χωρίς να παραλείπονται τυχόν δεδομένα που λαμβάνονται. Με την άφιξη του « γραμμή ανάγνωσης », η διαδικασία για την ανάκτηση των δεδομένων σε πραγματικό χρόνο γίνεται πολύ πιο εύκολη και ταχύτερη.

Αυτή η εγγραφή εξηγεί τη διαδικασία ανάγνωσης των διαδοχικών εισόδων με τη μονάδα ανάγνωσης nodejs.

Πώς να διαβάσετε διαδοχικές εισόδους με το Node.js Readline Module;

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







Παράδειγμα 1: Ανάγνωση διαδοχικών εισόδων χρησιμοποιώντας τη μονάδα Readline και τους πίνακες

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



συνθ γραμμή ανάγνωσης = απαιτώ ( 'γραμμή ανάγνωσης' ) ;

συνθ ReadlineInterface = γραμμή ανάγνωσης. δημιουργία διεπαφής ( {

εισαγωγή : επεξεργάζομαι, διαδικασία. stdin ,

παραγωγή : επεξεργάζομαι, διαδικασία. stdout

} )

συνθ απαίτηση 0 = 'Ενδέχεται! Ξέρω το παρατσούκλι σου;». ;

συνθ απαίτηση 1 = 'Ποιο είναι το χόμπι σου' ;

συνθ απαίτηση 2 = 'Τι σου αρέσει να ακούς' ;

συνθ απαίτηση 3 = 'Ενδέχεται! Ξέρω το αγαπημένο σου πιάτο;». ;

συνθ απαίτηση 4 = 'Που μένεις?' ;

συνθ απαίτηση 5 = 'Ποιο είναι το αγαπημένο σας χρώμα' ;

συνθ απαίτηση 6 = 'Ποιος είναι ο καλύτερος σου φίλος' ;

συνθ reqArr = [ Απαιτ ] ;

ας ρεπ = '' ;

συνθ reqData = Χ => {

αν ( Χ < reqArr. μήκος ) {

ReadlineInterface. ερώτηση ( reqArr [ Χ ] , ( reqΑπάντηση ) => {

res += ' \n ' + reqΑπάντηση ;

reqData ( Χ + 1 ) ;

} ) ;

} αλλού {

κονσόλα. κούτσουρο ( `Ευχαριστώ Για μοιράζεται μαζί μου ! $ { res } ` ) ;

ReadlineInterface. Κλείσε ( ) ;

}

} ;

reqData ( 0 ) ;

Η περιγραφή του κώδικα που χρησιμοποιείται στο παραπάνω απόσπασμα κώδικα αναφέρεται παρακάτω:



  • Ξεκινήστε εισάγοντας το ' γραμμή ανάγνωσης ' module και αποθηκεύστε το αντικείμενό της σε μια μεταβλητή με το όνομα ' γραμμή ανάγνωσης '.
  • Στη συνέχεια, δημιουργήστε μια διεπαφή με το όνομα ' ReadlineInterface ' για το ' γραμμή ανάγνωσης ' αντικείμενο που αναδιπλώνει την τυπική διαδικασία εισόδου και εξόδου χρησιμοποιώντας το ' createInterface() 'μέθοδος. Επίσης, συσχετίζει κάθε αίτημα και απάντηση με μια ροή εισόδου που μπορεί να αναγνωσθεί και να εξέλθει με δυνατότητα εγγραφής χρησιμοποιώντας το ' επεξεργάζομαι, διαδικασία ” ιδιοκτησία.
  • Στη συνέχεια, δημιουργήστε επτά ' συνθ πληκτρολογήστε μεταβλητές για να αποθηκεύσετε ορισμένα αιτήματα ή ερωτήσεις που πρέπει να υποβάλλονται διαδοχικά. Αποθηκεύστε αυτές τις σταθερές στον μοναδικό πίνακα με το όνομα ' reqArr '.
  • Δημιουργήστε μια νέα κενή μεταβλητή ' res », ορίστε μια συνάρτηση βέλους με το όνομα « reqData ' και περάστε τη μοναδική παράμετρο του ' Χ '.
  • Μέσα σε αυτήν τη λειτουργία, χρησιμοποιήστε το ' αν ' δήλωση που ελέγχει εάν η τιμή της παρεχόμενης παραμέτρου είναι μικρότερη από το μήκος του ' reqArr ' ή όχι.
  • Στην περίπτωση της αλήθειας, το « ερώτηση() Η μέθοδος ' εφαρμόζεται στη διεπαφή και εμφανίζει κάθε αίτημα από τον πίνακα πάνω από την έξοδο διαδοχικά. Στη συνέχεια, μεταβιβάζει τις αντίστοιχες παρεχόμενες τιμές τους ως όρισμα.
  • Αυτά τα ορίσματα αποθηκεύονται στον ήδη δημιουργημένο πίνακα ' res '.
  • Μόλις όλα τα αιτήματα εμφανιστούν διαδοχικά στην κονσόλα, τότε η συνθήκη ' αν ' η δήλωση γίνεται ψευδής και στο ' αλλού 'μέρος, το ' res Ο πίνακας εμφανίζεται πάνω από την κονσόλα.
  • Τέλος, η διεπαφή γραμμής ανάγνωσης κλείνει επίσης με την κλήση του ' Κλείσε() 'μέθοδος. Επίσης, επικαλέστε το ' reqData() ' συνάρτηση και περάστε μια αρχική τιμή ' 0 ” για να ξεκινήσετε την ερώτηση από την κορυφή ή από την πρώτη ερώτηση που είναι διαθέσιμη στον πίνακα.

Τώρα, εκτελέστε αυτό το αρχείο που περιέχει πληκτρολογώντας το ' κόμβος 'Λέξη-κλειδί πίσω από το ' όνομα αρχείου » στο τερματικό:





κόμβος εγγραφή

Η έξοδος δείχνει ότι το πρόγραμμα έχει διαβάσει τις διαδοχικές εισόδους και τις επέστρεψε όλες ταυτόχρονα:

Παράδειγμα 2: Ανάγνωση διαδοχικών εισόδων με χρήση της μονάδας Readline και της αναδρομικής συνάρτησης

Στη μέθοδο, η αναδρομική προσέγγιση χρησιμοποιείται με το « γραμμή ανάγνωσης ” Μονάδα Node.js για την ανάγνωση των διαδοχικών εισόδων από τον χρήστη στη ροή εισόδου:



συνθ ανάγνωση = απαιτώ ( 'γραμμή ανάγνωσης' ) ;
συνθ ReadlineInterface = ανάγνωση. δημιουργία διεπαφής ( {
εισαγωγή : επεξεργάζομαι, διαδικασία. stdin ,
παραγωγή : επεξεργάζομαι, διαδικασία. stdout
} )
ήταν reqArr = [ ]
συνάρτηση reqData ( Χ ) {
αν ( Χ > 3 )
{
var μέσος όρος = 0
Για ( j στο reqArr )
{
μέση τιμή += Αριθμός ( reqArr [ ι ] )
}
κονσόλα. κούτσουρο ( μέση τιμή / 3 ) ;
}
αλλού
{
ReadlineInterface. ερώτηση ( 'Εισάγετε το ' + Χ + 'Αριθμός από 3:' , λειτουργία ( reqΑπάντηση ) {
reqArr. Σπρώξτε ( reqΑπάντηση )
reqData ( Χ + 1 )
} )
}
}

reqData ( 1 ) ;

Η εξήγηση για τον παραπάνω κώδικα περιγράφεται παρακάτω με τη μορφή κουκκίδων:

  • Πρώτα, εισαγάγετε το ' γραμμή ανάγνωσης “σε ένα νεοσύστατο” γράφω.js ' αρχείο και αποθήκευση του αντικειμένου μεθόδου σε ' ανάγνωση ” μεταβλητή. Δημιουργήστε μια διεπαφή που αποθηκεύει το ' γραμμή ανάγνωσης ' διεπαφή που δημιουργείται μέσω του ' createInterface() 'μέθοδος.
  • Τώρα, δημιουργήστε έναν κενό πίνακα με το όνομα ' reqArr ' και ορίστε το ' reqData() ' συνάρτηση που δέχεται επίσης μία παράμετρο με το όνομα ' Χ '.
  • Η συνάρτηση ελέγχει πρώτα εάν η παρεχόμενη τιμή είναι μεγαλύτερη από ' 3 ' ή όχι. Στην περίπτωση του true, οι ανακτημένες τιμές που έρχονται στο ' Χ 'Η μεταβλητή αποθηκεύεται σε έναν πίνακα και προστίθεται στη μεμονωμένη μεταβλητή με το όνομα ' μέση τιμή '.
  • Μετά από αυτό, το « μέση τιμή 'Η μεταβλητή διαιρείται με ' 3 ' για να βρείτε τον μέσο όρο καθώς το μήκος του μέγιστου επιτρεπόμενου αριθμού είναι ' 3 ” και το αποτέλεσμα εμφανίζεται στην κονσόλα.
  • Στο άλλο μέρος, το « ερώτηση() 'Η μέθοδος επισυνάπτεται με τη διεπαφή' readlineInerface '. Αυτή η μέθοδος εμφανίζει το μήνυμα πάνω από την κονσόλα και ορίζει μια ανώνυμη συνάρτηση.
  • Η συνάρτηση δέχεται τα δεδομένα εισόδου του χρήστη και προσθέτει αυτά τα δεδομένα στον πίνακα ' reqArr '. Ενημερώνει επίσης την τιμή του ' Χ ' κάθε φορά και μεταβιβάζει την ενημερωμένη τιμή στο ' reqData() ' λειτουργία. Αυτό θα διασφαλίσει ότι ο χρήστης εισάγει μόνο τιμές μικρότερες από τρεις ξεκινώντας από ' 0 '. Τέλος, επικαλέστε το ' reqData() ” λειτουργία για να ξεκινήσει η διαδικασία εκτέλεσης.

Τώρα, εκτελέστε αυτό που περιέχει το ' γράφω.js ' αρχείο εισάγοντας το ' κόμβος 'Λέξη-κλειδί πίσω από το ' όνομα αρχείου » στο τερματικό:

κόμβος εγγραφή

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

Αυτός ο οδηγός εξηγεί τη διαδικασία ανάγνωσης διαδοχικών εισόδων με τη λειτουργική μονάδα ανάγνωσης Node.js.

συμπέρασμα

Για να διαβάσετε τις διαδοχικές εισόδους με τη μονάδα ανάγνωσης Node.js, πρώτα εισαγάγετε αυτήν την ενότητα σε ένα αρχείο εργασίας και δημιουργήστε μια διεπαφή χρησιμοποιώντας το ' createInterface() 'μέθοδος. Αυτή η διεπαφή καλεί το ' ερώτηση() 'μέθοδος. Στέλνει αιτήματα στον χρήστη διαδοχικά και μεταβιβάζει τις αντίστοιχες απαντήσεις κάθε αιτήματος στη συνάρτηση επανάκλησης για να εφαρμόσει ορισμένες λειτουργίες σύμφωνα με τις απαιτήσεις. Έχετε μάθει τη διαδικασία ανάγνωσης διαδοχικών εισόδων χρησιμοποιώντας τη μονάδα ανάγνωσης.