Lectura de entrada con readline()
Parte de la sección Fundamentos del Journey de R de Coddy — lección 29 de 78.
Hasta ahora, has aprendido cómo mostrar la salida. Ahora es el momento de hacer que tus programas sean interactivos leyendo la entrada del usuario. La función readline() te permite capturar lo que el usuario escribe.
name <- readline()
cat("Hello,", name, "\n")Cuando este código se ejecuta, R espera a que el usuario escriba algo y presione Enter. Cualquier cosa que escriban se almacena en la variable name. Si el usuario escribe "Alice", la salida sería: Hello, Alice
Una cosa importante que debes saber: readline() siempre devuelve una cadena de caracteres, incluso si el usuario escribe un número. Si alguien ingresa "25", se almacena como el texto "25", no el número 25. Aprenderás cómo convertir entre tipos en la próxima lección.
Puedes leer múltiples entradas usando readline() varias veces:
first <- readline()
second <- readline()
cat("First:", first, "\n")
cat("Second:", second, "\n")Cada llamada a readline() espera una línea de entrada independiente del usuario.
Cuando necesites unir cadenas de texto sin ningún espacio entre ellas, usa paste0(). A diferencia de cat(), que añade un espacio entre cada elemento, paste0() concatena los valores directamente:
city <- readline()
cat(paste0("Welcome to ", city, "!"), "\n")Aquí, paste0() construye la cadena Welcome to Paris! sin espacios no deseados antes del !, y luego cat() la imprime.
Desafío
FácilLee dos líneas de entrada y muestra un mensaje de saludo personalizado.
Recibirás dos entradas:
- Un nombre
- Un nombre de ciudad
Lee ambas entradas usando readline() y muestra un mensaje en el siguiente formato:
Welcome, [name] from [city]!Usa cat() para producir la salida. Asegúrate de incluir el signo de exclamación al final y un carácter de nueva línea \n.
Por ejemplo, si las entradas son Emma y Paris, la salida debería ser:
Welcome, Emma from Paris!Hoja de referencia
Para leer la entrada del usuario, use la función readline():
name <- readline()
cat("Hello,", name, "\n")La función readline() espera a que el usuario escriba algo y presione Enter. La entrada se almacena como una cadena de caracteres.
Para leer múltiples entradas, use readline() varias veces:
first <- readline()
second <- readline()
cat("First:", first, "\n")
cat("Second:", second, "\n")Nota: readline() siempre devuelve una cadena de caracteres, incluso si el usuario escribe un número.
Use cat() para imprimir valores separados por espacios. Use paste0() para unir valores sin espacios entre ellos:
name <- readline()
cat(paste0("Hello, ", name, "!"))En este ejemplo, paste0() combina "Hello, ", el valor almacenado en name, y "!" en una sola cadena sin espacios adicionales.
Pruébalo tú mismo
# Leer la entrada
con <- file("stdin", "r")
name <- suppressWarnings(readLines(con, n = 1))
city <- suppressWarnings(readLines(con, n = 1))
# TODO: Escribe tu código a continuación para mostrar el mensaje de saludo
# Usa cat() para la salida: Welcome, [name] from [city]!
# No olvides el carácter de nueva línea \n al finalEsta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 2
Operadores lógicos (AND, OR)Operadores lógicos Parte 2 (NOT)Resumen - Lógica simpleLógica vectorizada Parte 1Lógica vectorizada Parte 27Calculadora para dividir la cuenta
Mensaje de bienvenidaObtener la entrada del usuario2Variables y tipos de datos
Tipo de dato numéricoTipo de dato enteroTipo de dato de caracteresTipo de dato lógicoComprobación de tipos de datosConvenciones de nomenclaturaValores faltantes: NAResumen - Creación de variables8Bucles
Bucle ForBucle WhileBreakNext (Continue)Repaso - FactorialGeneración de secuencias (seq, :)Bucles anidadosRepaso - Entrada dinámica3Operadores Parte 1
Operadores aritméticosDivisión entera y móduloOperadores de asignaciónRepaso - Matemáticas simplesOperadores de comparación6E/S básica
Imprimir salidaCat para salidaSalida con variablesLectura de entrada con readline()Conceptos básicos de conversión de tiposResumen - Calculadora de edadResumen - Verdadero o falso9Funciones
Declarar una funciónArgumentos de una funciónValores de retornoRepaso - Función SigmaRepaso - Función de validaciónValores de parámetros por defecto