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.
Aufgabe
EinfachLies zwei Eingabezeilen ein und gib eine personalisierte Begrüßungsnachricht aus.
Du erhältst zwei Eingaben:
- Einen Vornamen
- 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 EndeDiese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 2
Logische Operatoren (AND, OR)Logische Operatoren Teil 2 (NOT)Wiederholung – Einfache LogikVektorisierte Logik Teil 1Vektorisierte Logik Teil 27Rechnungs-Split-Rechner
WillkommensnachrichtBenutzereingaben abfragen10FizzBuzz mit einer Besonderheit
SpielübersichtDie FizzBuzz-Funktion13Vektoren für Fortgeschrittene
Vektor-Slicing und IndizierungLogische IndizierungVektorarithmetik & RecyclingDer %in%-Operator2Variablen und Datentypen
Numerischer DatentypGanzzahl-DatentypZeichen-DatentypLogischer DatentypDatentypen prüfenBenennungskonventionenFehlende Werte: NAZusammenfassung – Variablenerstellung5Entscheidungsfindung
If-AnweisungIf - ElseWiederholung - Einfacher TaschenrechnerVerschachteltes If - Else8Schleifen
For-SchleifeWhile-SchleifeBreakNext (Continue)Rückblick - FakultätSequenzgenerierung (seq, :)Verschachtelte SchleifenRückblick - Dynamische Eingabe3Operatoren Teil 1
Arithmetische OperatorenGanzzahlige Division und ModuloZuweisungsoperatorenWiederholung - Einfache MathematikVergleichsoperatoren6Grundlagen der Ein- und Ausgabe
Print-AusgabeCat zur AusgabeAusgabe mit VariablenEingabe lesen mit readline()Grundlagen der TypumwandlungWiederholung – AltersrechnerWiederholung – Wahr oder Falsch9Funktionen
Funktionen deklarierenFunktionsargumenteRückgabewerteWiederholung - Sigma-FunktionWiederholung - ValidierungsfunktionStandard-Parameterwerte