Menu
Coddy logo textTech

Eingabe lesen mit readline()

Teil des Abschnitts Grundlagen der R-Journey von Coddy — Lektion 29 von 78.

Bisher haben Sie gelernt, wie man Ausgaben anzeigt. Jetzt ist es an der Zeit, Ihre Programme interaktiv zu gestalten, indem Sie Eingaben vom Benutzer lesen. Die Funktion readline() ermöglicht es Ihnen, das zu erfassen, was der Benutzer eingibt.

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

Wenn dieser Code ausgeführt wird, wartet R darauf, dass der Benutzer etwas eingibt und die Eingabetaste drückt. Was auch immer eingegeben wird, wird in der Variable name gespeichert. Wenn der Benutzer „Alice“ eingibt, lautet die Ausgabe: Hello, Alice

Eine wichtige Sache, die man wissen sollte: readline() gibt immer eine Zeichenkette zurück, selbst wenn der Benutzer eine Zahl eingibt. Wenn jemand „25“ eingibt, wird es als der Text "25" gespeichert, nicht als die Zahl 25. In der nächsten Lektion wirst du lernen, wie man zwischen Typen konvertiert.

Sie können mehrere Eingaben lesen, indem Sie readline() mehrmals verwenden:

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

Jeder readline()-Aufruf wartet auf eine separate Eingabezeile vom Benutzer.

Wenn Sie Zeichenfolgen ohne Leerzeichen dazwischen zusammenfügen müssen, verwenden Sie paste0(). Im Gegensatz zu cat(), das ein Leerzeichen zwischen jedem Element hinzufügt, verknüpft paste0() Werte direkt:

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

Hier erstellt paste0() die Zeichenfolge Welcome to Paris! ohne unerwünschte Leerzeichen vor dem !, und anschließend gibt cat() sie aus.

challenge icon

Aufgabe

Einfach

Lies zwei Eingabezeilen ein und gib eine personalisierte Begrüßungsnachricht aus.

Du erhältst zwei Eingaben:

  1. Einen Vornamen
  2. Einen Städtenamen

Lies beide Eingaben mit readline() ein und gib eine Nachricht im folgenden Format aus:

Welcome, [name] from [city]!

Verwende cat(), um die Ausgabe zu erzeugen. Stelle sicher, dass du das Ausrufezeichen am Ende und ein Zeilenumbruchzeichen \n einfügst.

Wenn die Eingaben zum Beispiel Emma und Paris sind, sollte die Ausgabe wie folgt aussehen:

Welcome, Emma from Paris!

Spickzettel

Um Benutzereingaben zu lesen, verwenden Sie die Funktion readline():

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

Die Funktion readline() wartet darauf, dass der Benutzer etwas eingibt und die Eingabetaste drückt. Die Eingabe wird als Zeichenfolge gespeichert.

Um mehrere Eingaben zu lesen, verwenden Sie readline() mehrmals:

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

Hinweis: readline() gibt immer eine Zeichenfolge zurück, selbst wenn der Benutzer eine Zahl eingibt.

Verwenden Sie cat(), um Werte getrennt durch Leerzeichen auszugeben. Verwenden Sie paste0(), um Werte ohne Leerzeichen dazwischen zu verbinden:

name <- readline()
cat(paste0("Hello, ", name, "!"))

In diesem Beispiel kombiniert paste0() die Zeichenfolge "Hello, ", den in name gespeicherten Wert und "!" zu einer einzigen Zeichenfolge ohne zusätzliche Leerzeichen.

Probier es selbst

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

# TODO: Schreibe deinen Code unten, um die Begrüßungsnachricht anzuzeigen
# Verwende cat() zur Ausgabe: Welcome, [name] from [city]!
# Vergiss nicht das Zeilenumbruchzeichen \n am Ende
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen