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 resultados. 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 escribe el usuario.

name <- readline()
cat("Hello,", name, "\n")

Cuando se ejecuta este código, R espera a que el usuario escriba algo y presione Enter. Lo que escriba 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 introduce "25", se almacena como el texto "25", no como el número 25. Aprenderás a convertir entre tipos en la próxima lección.

Puedes leer varias entradas utilizando 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 lleva un espacio entre ellos. A veces necesitas unir texto sin ningún espacio, por ejemplo, para adjuntar la puntuación directamente a una palabra. Ahí es donde resulta útil paste0(). Concatena cadenas sin separador entre ellas:

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

Aquí, paste0(city, "!") une el valor de city y "!" sin ningún espacio, así que si el usuario escribe "Paris", la salida 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 con 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 debería ser:

Welcome, Emma from Paris!

Pruébalo tú mismo

# Leer entrada
con <- file("stdin", "r")
name <- suppressWarnings(readLines(con, n = 1))
city <- suppressWarnings(readLines(con, n = 1))

# TODO: Escribe tu código debajo para mostrar el mensaje de saludo
# Usa cat() para mostrar: 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

Practica por tu cuenta: Compilador de R online