Zusammenfassung – Sicherer Rechner
Teil des Abschnitts Logik und Ablaufsteuerung der R-Journey von Coddy. Lektion 56 von 64.
Aufgabe
SchwerVervollständige evaluate(expr). Ein Ausdruck ist <number> <operator> <number> mit Leerzeichen um den Operator, zum Beispiel 8 / 2. Löse bei jedem Problem mit stop() einen Fehler aus, wobei diese Reihenfolge eingehalten wird:
expected: number operator number, wenn es nicht genau drei Teile gibt'<part>' is not a numberfür den ersten Zahlenteil, der nicht konvertiert werden kann, zum Beispiel'x' is not a numberunknown operator <op>, wenn der Operator nicht+,-,*oder/istdivision by zero
Gib andernfalls das Ergebnis zurück, auf vier Dezimalstellen gerundet mit round(value, 4).
Vervollständige anschließend run_all(exprs): Werte jeden Ausdruck innerhalb von tryCatch() aus und gib eine Zeile pro Ausdruck zurück, 8 / 2 = 4 oder 5 / 0 -> error: division by zero.
Der bereitgestellte Code übergibt jede Eingabezeile an run_all() und gibt jede zurückgegebene Zeile aus.
Probier es selbst
evaluate <- function(expr) {
# Schreibe deinen Code hier
0
}
run_all <- function(exprs) {
# Schreibe deinen Code hier
character(0)
}
# Mitgelieferter Ein-/Ausgabecode: belasse ihn unverändert
input <- suppressWarnings(readLines(file("stdin")))
cat(run_all(input), sep = "\n")
Alle Lektionen in Logik und Ablaufsteuerung
1Strings im Detail
Teilstrings mit substr()Formatierung mit sprintf()Aufteilen und VerbindenStrings durchsuchenText ersetzenWiederholung – Benutzernamen-Generator4Matrizen
Matrizen erstellenMatrizen indizierenZusammenfassungen von Zeilen und SpaltenMatrizenarithmetikRückblick – Sitzplan10Fortgeschrittener Kontrollfluss
Die switch()-FunktionVektorisierter ifelse()repeat und breakRekursive FunktionenRückblick – Notenklassifizierung2Schlüssel-Wert-Suchen
Benannte Vektor-SuchenSchlüssel prüfenSchlüssel hinzufügen und entfernenNamen durchlaufenRückblick – Aktienübersicht5Projekt – Notenbuch
Schüler hinzufügenNoten eintragen8Sortieren und Gruppieren
Vektoren sortierenNach einem Schlüssel sortierenGruppieren mit split()GruppenzusammenfassungenRückblick – Rangliste11Fehlerbehandlung
Fehler mit stop() auslösenMit tryCatch() abfangenWarnungen und finallyEingaben validierenZusammenfassung – Sicherer Rechner3Mengen und Zählen
Eindeutige WerteMengenoperationenZugehörigkeitstestsZählen mit table()Rückblick – Gäste einer Veranstaltung6Funktionen als Werte
Anonyme FunktionenFunktionen übergebenFunktionen zurückgebenClosures mit ZustandRückblick – Rabattregeln9Datenrahmen
Datenrahmen erstellenSpalten und ZeilenZeilen filternHinzufügen und SortierenZusammenfassung – Verkaufsbericht12Projekt – Ausgaben-Tracker
Ausgaben erfassenGesamtausgabenÜbe selbstständig: Online-R-Compiler