Stdin, Stdout, dan Argumen Proses
Membangun program CLI interaktif
Stdin, Stdout, dan Argumen Proses adalah pelajaran Dart Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Dart Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Dart Academy mencakup 4 pelajaran total.
Tiga Stream Standar
Program baris perintah berkomunikasi melalui tiga saluran: stdin untuk input, stdout untuk output normal, dan stderr untuk error.
stdout dibandingkan print
print menambahkan baris baru dan mengirimkannya ke stdout. Untuk mengatur keluaran dengan lebih terperinci, tulis langsung menggunakan stdout.write tanpa menambahkan baris baru.
stdout.write('Loading');Error Dikirim ke stderr
Kirim peringatan ke stderr, bukan stdout. Dengan begitu, output sebenarnya tetap bersih saat pengguna mengalirkan output program Anda ke tempat lain.
stderr.writeln('Could not find file');Membaca Satu Baris Input
Ajukan pertanyaan kepada pengguna, lalu ambil jawabannya dengan stdin.readLineSync. Program akan berhenti sejenak sampai pengguna menekan Enter.
final name = stdin.readLineSync();Input Dapat Bernilai Null
readLineSync mengembalikan String yang nullable. Jika stream ditutup tanpa input, nilainya adalah null, jadi tangani kasus tersebut.
final answer = stdin.readLineSync() ?? '';Perulangan Prompt Sederhana
Gabungkan penulisan dan pembacaan untuk membuat prompt. Tampilkan pertanyaan, baca balasan, lalu tindak lanjuti, semuanya hanya dalam beberapa baris.
stdout.write('Name? '); final n = stdin.readLineSync();Argumen Baris Perintah
main Anda dapat menerima List berisi String args. Apa pun yang diketik pengguna setelah nama program akan masuk ke sana secara berurutan.
void main(List<String> args) { print(args); }Membaca Satu Argumen
Akses args berdasarkan indeks seperti pada list apa pun. Selalu periksa args.isEmpty terlebih dahulu agar argumen yang tidak ada tidak menyebabkan program berhenti dengan error.
if (args.isNotEmpty) print(args[0]);Mengurai Bendera dengan args
Untuk CLI sungguhan, paket args mengubah bendera dan opsi menjadi hasil yang telah diurai dengan rapi, alih-alih mengelola indeks secara manual.
import 'package:args/args.dart';Menetapkan Kode Keluar
Beri tahu shell bagaimana hasil program melalui exit. Nol berarti berhasil, sedangkan nilai lainnya memberi sinyal error kepada skrip yang memanggil Anda.
exit(1);Mode Echo Nonaktif
Untuk kata sandi, sembunyikan karakter yang diketik dengan mengatur stdin.echoMode ke false sebelum membaca baris.
stdin.echoMode = false;Pemeriksaan Singkat
Ke mana alat CLI seharusnya mengirim pesan error agar output yang dialirkan tetap bersih?
Ringkasan
Sekarang Anda dapat menulis ke stdout dan stderr, membaca input dengan stdin, menerima argumen baris perintah, serta menetapkan kode keluar. CLI Anda kini interaktif.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Stdin, Stdout, dan Argumen Proses” gratis?
Ya — teks lengkap “Stdin, Stdout, dan Argumen Proses” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Dart Academy, upgrade ke CoddyKit PRO. Kursus Dart Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Stdin, Stdout, dan Argumen Proses”?
Membangun program CLI interaktif Kamu berlatih Dart Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Dart Academy?
Tidak diperlukan pengalaman sebelumnya. Dart Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Stdin, Stdout, dan Argumen Proses” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Dart Academy ini?
Ya. Setiap pelajaran Dart Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Membaca dan Menulis File
- Direktori, Path, dan FileSystemEntity
- Streaming File Besar
- Stdin, Stdout, dan Argumen Proses