Bagaimana Cara Membaca Input Berturut-turut dengan Modul Readline Node.js?

Bagaimana Cara Membaca Input Berturut Turut Dengan Modul Readline Node Js



garis baca ” Modul Node.js ideal untuk digunakan dalam skenario di mana lebih dari satu masukan berturut-turut perlu diambil dari pengguna akhir. Modul ini menggabungkan keluaran dan masukan standar yang membantu membaca aliran masukan baris demi baris tanpa melewatkan data apa pun yang diterima. Dengan kedatangan “ garis baca Dengan modul ini, prosedur pengambilan data secara real-time menjadi lebih mudah dan cepat.

Tulisan ini menjelaskan prosedur membaca input berturut-turut dengan modul readline nodejs.

Bagaimana Cara Membaca Input Berturut-turut dengan Modul Readline Node.js?

Input berturut-turut adalah input yang mengambil dan menyimpan jawaban beberapa pertanyaan sekaligus secara berurutan. Pertanyaan berturut-turut ini sebagian besar ditanyakan saat mengikuti beberapa kursus atau pada saat verifikasi. Beberapa contoh dinyatakan di bawah ini untuk implementasi pembacaan input berturut-turut menggunakan modul readline Node.js.







Contoh 1: Membaca Input Berturut-turut Menggunakan Modul Readline dan Array

Dalam contoh ini, input berurutan diambil dan dibaca menggunakan “ garis baca ” modul. Input disimpan dalam array tempat input tersebut ditampilkan di konsol:



konstanta garis baca = memerlukan ( 'baris baca' ) ;

konstanta readlineInterface = garis baca. buat Antarmuka ( {

memasukkan : proses. stdin ,

keluaran : proses. stdout

} )

konstanta permintaan0 = 'Mungkin! Aku tahu nama panggilanmu?' ;

konstanta persyaratan1 = 'Apa hobimu' ;

konstanta kebutuhan2 = 'Apa yang kamu suka dengarkan' ;

konstanta persyaratan3 = 'Mungkin! Aku tahu hidangan favoritmu?' ;

konstanta persyaratan4 = 'Kamu tinggal di mana?' ;

konstanta persyaratan5 = 'Apa warna kesukaanmu' ;

konstanta persyaratan6 = 'Siapa Sahabat Terbaikmu' ;

konstanta kebutuhanArr = [ req0, req1, req2, req3, req4, req5, req6 ] ;

biarkan res = '' ;

konstanta kebutuhanData = X => {

jika ( X < kebutuhanArr. panjang ) {

readlineInterface. pertanyaan ( kebutuhanArr [ X ] , ( reqResponse ) => {

res += ' \N ' + reqResponse ;

kebutuhanData ( X + 1 ) ;

} ) ;

} kalau tidak {

menghibur. catatan ( 'Terima kasih untuk berbagi dengan saya ! $ { res } ` ) ;

readlineInterface. menutup ( ) ;

}

} ;

kebutuhanData ( 0 ) ;

Deskripsi kode yang digunakan dalam cuplikan kode di atas tercantum di bawah ini:



  • Mulailah dengan mengimpor “ garis baca ” modul dan simpan objeknya dalam variabel bernama “ garis baca ”.
  • Selanjutnya, buat antarmuka bernama “ readlineInterface ' Untuk ' garis baca ” objek yang membungkus proses input dan output standar menggunakan “ buat Antarmuka() ' metode. Itu juga mengaitkan setiap permintaan dan respons dengan satu aliran input yang dapat dibaca dan output yang dapat ditulis menggunakan “ proses ' Properti.
  • Lalu, buat tujuh “ konstanta ” ketik variabel untuk menyimpan beberapa permintaan atau pertanyaan yang perlu ditanyakan secara berurutan. Simpan konstanta ini dalam array tunggal bernama “ kebutuhanArr ”.
  • Buat variabel kosong baru “ res ”, tentukan fungsi panah bernama “ kebutuhanData ” dan meneruskan parameter tunggal “ X ”.
  • Di dalam fungsi ini, gunakan “ jika ” pernyataan yang memeriksa apakah nilai parameter yang diberikan kurang dari panjang “ kebutuhanArr ' atau tidak.
  • Jika benar, “ pertanyaan() Metode ” diterapkan ke antarmuka dan menampilkan setiap permintaan dari array melalui output secara berurutan. Kemudian ia meneruskan nilai terkait yang diberikan sebagai argumen.
  • Argumen ini disimpan dalam array yang sudah dibuat “ res ”.
  • Setelah semua permintaan ditampilkan secara berurutan melalui konsol maka kondisi “ jika ” pernyataan menjadi salah dan di “ kalau tidak ” bagian, “ res ” Array ditampilkan melalui konsol.
  • Terakhir, antarmuka readline juga ditutup dengan menjalankan perintah “ menutup() ' metode. Juga, aktifkan “ kebutuhanData() ” fungsi dan berikan nilai awal “ 0 ” untuk memulai pertanyaan dari atas atau dari pertanyaan pertama yang tersedia dalam larik.

Sekarang, jalankan file yang berisi ini dengan memasukkan “ simpul ” kata kunci di balik “ nama file ” di terminal:





simpul menulis

Outputnya menunjukkan bahwa program telah membaca input berturut-turut dan mengembalikan semuanya sekaligus:

Contoh 2: Membaca Input Berturut-turut Menggunakan Modul Readline dan Fungsi Rekursif

Dalam metodenya, pendekatan rekursif digunakan dengan “ garis baca ” Modul Node.js untuk membaca masukan berurutan dari pengguna pada aliran masukan:



konstanta membaca = memerlukan ( 'baris baca' ) ;
konstanta readlineInterface = membaca. buat Antarmuka ( {
memasukkan : proses. stdin ,
keluaran : proses. stdout
} )
adalah reqArr = [ ]
fungsi reqData ( X ) {
jika ( X > 3 )
{
rata-rata = 0
untuk ( j di reqArr )
{
rata-rata += Nomor ( kebutuhanArr [ J ] )
}
menghibur. catatan ( rata-rata / 3 ) ;
}
kalau tidak
{
readlineInterface. pertanyaan ( 'Masukkan ' + X + 'nomor dari 3:' , fungsi ( reqResponse ) {
kebutuhanArr. dorongan ( reqResponse )
kebutuhanData ( X + 1 )
} )
}
}

kebutuhanData ( 1 ) ;

Penjelasan kode di atas dijelaskan di bawah ini dalam bentuk poin-poin:

  • Pertama, impor “ garis baca ” di yang baru dibuat “ tulis.js ” file dan simpan objek metode di “ membaca ' variabel. Buat antarmuka yang menyimpan “ garis baca ” antarmuka yang dibuat melalui “ buat Antarmuka() ' metode.
  • Sekarang, buat array kosong bernama “ kebutuhanArr ” dan tentukan “ kebutuhanData() ” fungsi yang juga menerima parameter tunggal bernama “ X ”.
  • Fungsi ini pertama-tama memeriksa apakah nilai yang diberikan lebih besar dari “ 3 ' atau tidak. Jika benar, nilai yang diambil yang berasal dari “ X ” Variabel disimpan dalam array dan ditambahkan ke variabel tunggal bernama “ rata-rata ”.
  • Setelah itu, “ rata-rata ” variabel dibagi dengan “ 3 ” untuk mencari rata-rata karena panjang bilangan maksimum yang diperbolehkan adalah “ 3 ” dan hasilnya ditampilkan di konsol.
  • Di bagian lain, “ pertanyaan() ” Metode terlampir dengan antarmuka “ readlineInerface ”. Metode ini menampilkan pesan melalui konsol dan mendefinisikan fungsi anonim.
  • Fungsi ini menerima data masukan pengguna dan menambahkan data tersebut ke array “ kebutuhanArr ”. Ini juga memperbarui nilai “ X ” setiap kali dan meneruskan nilai yang diperbarui ke “ kebutuhanData() ' fungsi. Ini akan memastikan bahwa pengguna hanya memasukkan nilai kurang dari tiga mulai dari “ 0 ”. Terakhir, aktifkan “ kebutuhanData() ” berfungsi untuk memulai proses eksekusi.

Sekarang, jalankan ini yang berisi “ tulis.js ” file dengan memasukkan “ simpul ” kata kunci di balik “ nama file ” di terminal:

simpul menulis

Outputnya mengonfirmasi bahwa input berurutan telah dibaca dan rata-ratanya ditampilkan melalui konsol menggunakan kombinasi pendekatan rekursif dan modul readline:

Panduan ini menjelaskan prosedur membaca input berurutan dengan modul readline Node.js.

Kesimpulan

Untuk membaca input berturut-turut dengan modul readline Node.js, pertama-tama impor modul ini ke dalam file yang berfungsi dan buat antarmuka menggunakan “ buat Antarmuka() ' metode. Antarmuka ini memanggil “ pertanyaan() ' metode. Ini mengirimkan permintaan ke pengguna secara berurutan dan meneruskan respons yang sesuai dari setiap permintaan ke fungsi panggilan balik untuk menerapkan beberapa operasi sesuai dengan persyaratan. Anda telah mempelajari proses membaca input berurutan menggunakan modul readline.