0Pricing
Dart Academy · Lección

Stdin, Stdout y argumentos de procesos

Construya programas de CLI interactivos

Stdin, Stdout y argumentos de procesos es una lección gratuita de Dart Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Dart Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Dart Academy incluye 4 lecciones en total.

Tres flujos estándar

Los programas de línea de comandos se comunican mediante tres canales: stdin para la entrada, stdout para la salida normal y stderr para los errores.

stdout frente a print

print añade un salto de línea y escribe en stdout. Para un control más preciso, escriba directamente con stdout.write y no se añadirá ningún salto de línea.

stdout.write('Loading');

Los errores van a stderr

Envíe las advertencias a stderr, no a stdout. Así mantiene limpia la salida real cuando los usuarios canalizan su programa a otro lugar.

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

Leer una línea de entrada

Haga una pregunta al usuario y, después, obtenga su respuesta con stdin.readLineSync. La ejecución se pausa hasta que pulse Enter.

final name = stdin.readLineSync();

La entrada puede ser null

readLineSync devuelve un String nullable. Si el flujo se cierra sin entrada, obtendrá null, por lo que debe gestionar ese caso.

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

Un pequeño bucle de solicitud

Combine una escritura y una lectura para crear una solicitud. Muestre una pregunta, lea la respuesta y actúe en consecuencia, todo en unas pocas líneas.

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

Argumentos de línea de comandos

Su main puede aceptar una List de String args. Todo lo que el usuario escriba después del nombre del programa aparecerá allí en el mismo orden.

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

Leer un argumento

Acceda a args mediante un índice, como con cualquier lista. Compruebe siempre primero args.isEmpty para que la ausencia de un argumento no provoque un error.

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

Analizar flags con args

Para CLI reales, el paquete args convierte flags y opciones en un resultado analizado y ordenado, en lugar de obligarle a gestionar índices manualmente.

import 'package:args/args.dart';

Establecer un código de salida

Indique al shell cómo ha ido la ejecución mediante exit. Cero significa que todo ha funcionado; cualquier otro valor indica un error a los scripts que realizan la llamada.

exit(1);

Desactivar el modo de eco

Para las contraseñas, oculte los caracteres escritos estableciendo stdin.echoMode en false antes de leer la línea.

stdin.echoMode = false;

Comprobación rápida

¿Dónde debe enviar sus mensajes de error una herramienta CLI para mantener limpia la salida canalizada?

Resumen

Ahora puede escribir en stdout y stderr, leer entradas con stdin, aceptar args de línea de comandos y establecer un código de salida. Su CLI es interactiva.

Preguntas frecuentes

¿La lección «Stdin, Stdout y argumentos de procesos» es gratis?

Sí — el texto completo de «Stdin, Stdout y argumentos de procesos» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Dart Academy, actualiza a CoddyKit PRO. El curso de Dart Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Stdin, Stdout y argumentos de procesos»?

Construya programas de CLI interactivos Practicas Dart Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Dart Academy?

No se requiere experiencia previa. Dart Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Stdin, Stdout y argumentos de procesos»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Dart Academy?

Sí. Cada lección de Dart Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Lectura y escritura de archivos
  2. Directorios, rutas y FileSystemEntity
  3. Transmisión de archivos grandes
  4. Stdin, Stdout y argumentos de procesos
← Volver a Dart Academy