0Pricing
Dart Academy · Lezione

Stdin, Stdout e argomenti dei processi

Creare programmi CLI interattivi

Stdin, Stdout e argomenti dei processi è una lezione Dart Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Dart Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Dart Academy include 4 lezioni in totale.

I tre stream standard

I programmi da riga di comando comunicano attraverso tre canali: stdin per l'input, stdout per l'output normale e stderr per gli errori.

stdout e print

print aggiunge una nuova riga e scrive su stdout. Per un controllo più preciso, scriva direttamente con stdout.write, senza aggiungere una nuova riga.

stdout.write('Loading');

Gli errori vanno su stderr

Invii gli avvisi a stderr, non a stdout. In questo modo l'output effettivo rimane pulito quando gli utenti reindirizzano il Suo programma tramite pipe.

stderr.writeln('Could not find file');

Leggere una riga di input

Ponga una domanda all'utente, quindi acquisisca la risposta con stdin.readLineSync. L'esecuzione si interrompe finché l'utente non preme Invio.

final name = stdin.readLineSync();

L'input può essere null

readLineSync restituisce una String nullable. Se lo stream si chiude senza input, otterrà null: gestisca quindi questo caso.

final answer = stdin.readLineSync() ?? '';

Un piccolo ciclo di prompt

Combini una scrittura e una lettura per creare un prompt. Stampi una domanda, legga la risposta e agisca di conseguenza, tutto in poche righe.

stdout.write('Name? '); final n = stdin.readLineSync();

Argomenti della riga di comando

Il Suo main può accettare una List di String args. Qualunque cosa l'utente digiti dopo il nome del programma viene inserita lì, nello stesso ordine.

void main(List<String> args) { print(args); }

Leggere un argomento

Acceda agli args tramite indice, come farebbe con qualsiasi lista. Controlli sempre prima args.isEmpty, così un argomento mancante non causerà un arresto anomalo.

if (args.isNotEmpty) print(args[0]);

Analizzare i flag con args

Per CLI reali, il package args trasforma flag e opzioni in un risultato analizzato ordinato, evitando di gestire manualmente gli indici.

import 'package:args/args.dart';

Impostare un codice di uscita

Comunichi alla shell l'esito dell'operazione con exit. Zero indica il successo; qualsiasi altro valore segnala un errore agli script che chiamano il programma.

exit(1);

Disattivare la modalità echo

Per le password, nasconda i caratteri digitati impostando stdin.echoMode su false prima di leggere la riga.

stdin.echoMode = false;

Verifica rapida

Dove dovrebbe inviare i messaggi di errore uno strumento CLI, in modo che l'output reindirizzato rimanga pulito?

Riepilogo

Ora sa scrivere su stdout e stderr, leggere l'input con stdin, accettare args dalla riga di comando e impostare un codice di uscita. La Sua CLI è interattiva.

Domande Frequenti

La lezione «Stdin, Stdout e argomenti dei processi» è gratuita?

Sì — il testo completo di «Stdin, Stdout e argomenti dei processi» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Dart Academy, passa a CoddyKit PRO. Il corso Dart Academy include 4 lezioni in totale.

Cosa imparerò in «Stdin, Stdout e argomenti dei processi»?

Creare programmi CLI interattivi Eserciti Dart Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Dart Academy?

Non è richiesta alcuna esperienza precedente. Dart Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Stdin, Stdout e argomenti dei processi»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Dart Academy?

Sì. Ogni lezione Dart Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Lettura e scrittura dei file
  2. Directory, percorsi e FileSystemEntity
  3. Streaming di file di grandi dimensioni
  4. Stdin, Stdout e argomenti dei processi
← Torna a Dart Academy