Menu
Coddy logo textTech

Lire l'entrée avec readline()

Fait partie de la section Fondamentaux du Journey R de Coddy. Leçon 29 sur 78.

Jusqu’à présent, vous avez appris à afficher des résultats. Il est maintenant temps de rendre vos programmes interactifs en lisant les entrées de l’utilisateur. La fonction readline() vous permet de capturer ce que l’utilisateur saisit.

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

Lorsque ce code s’exécute, R attend que l’utilisateur saisisse quelque chose et appuie sur Entrée. Tout ce qu’il saisit est stocké dans la variable name. Si l’utilisateur saisit "Alice", la sortie serait : Hello, Alice

Une chose importante à savoir : readline() renvoie toujours une chaîne de caractères, même si l’utilisateur saisit un nombre. Si quelqu’un saisit "25", cette valeur est enregistrée comme le texte "25", et non comme le nombre 25. Tu apprendras à convertir des types dans la prochaine leçon.

Vous pouvez lire plusieurs entrées en utilisant readline() plusieurs fois :

first <- readline()
second <- readline()
cat("First:", first, "\n")
cat("Second:", second, "\n")

Chaque appel à readline() attend une ligne distincte saisie par l’utilisateur.

Lorsque vous combinez du texte avec des variables à l’aide de cat(), chaque élément séparé par une virgule est séparé par un espace. Parfois, vous devez joindre du texte sans aucun espace, par exemple pour attacher directement une ponctuation à un mot. C’est là que paste0() est utile. Il concatène les chaînes avec aucun séparateur entre elles :

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

Ici, paste0(city, "!") assemble la valeur de city et "!" sans espace. Ainsi, si l’utilisateur saisit "Paris", le résultat est : Welcome to Paris!

challenge icon

Défi

Facile

Lisez deux lignes d’entrée et affichez un message de bienvenue personnalisé.

Vous recevrez deux entrées :

  1. Un prénom
  2. Un nom de ville

Lisez les deux entrées à l’aide de readline() et affichez un message au format suivant :

Welcome, [name] from [city]!

Utilisez cat() pour produire la sortie. Veillez à inclure le point d’exclamation à la fin ainsi qu’un caractère de nouvelle ligne \n.

Par exemple, si les entrées sont Emma et Paris, la sortie doit être :

Welcome, Emma from Paris!

Essayez vous-même

# Lire l'entrée
con <- file("stdin", "r")
name <- suppressWarnings(readLines(con, n = 1))
city <- suppressWarnings(readLines(con, n = 1))

# TODO: Écrivez votre code ci-dessous pour afficher le message de salutation
# Utilisez cat() pour afficher : Welcome, [name] from [city]!
# N'oubliez pas le caractère de nouvelle ligne \n à la fin
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux

Entraînez-vous par vous-même : Compilateur R en ligne