Menu
Coddy logo textTech

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 a 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.

Al combinar texto con variables usando cat(), cada elemento separado por una coma recibe un espacio entre ellos. A veces necesitas unir texto sin ningún espacio — por ejemplo, para adjuntar puntuación directamente a una palabra. Ahí es donde paste0() resulta útil. Concatena cadenas sin separador entre ellas:

city <- readline()
cat("Welcome to", paste0(city, "!"), "\n")

Aquí, paste0(city, "!") une el valor de city y "!" sin espacios, por lo que si el usuario escribe "Paris", el resultado es: Welcome to Paris!

challenge icon

Desafío

Fácil

Lee dos líneas de entrada y muestra un mensaje de saludo personalizado.

Recibirás dos entradas:

  1. Un nombre
  2. El nombre de una ciudad

Lee ambas entradas usando readline() y muestra un mensaje en el siguiente formato:

Welcome, [name] from [city]!

Usa cat() para generar 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 debe ser:

Welcome, Emma from Paris!

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 bienvenida
# Usa cat() para imprimir: Welcome, [name] from [city]!
# No olvides el carácter de nueva línea \n al final
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos