Wirkung von Zeilenumbrüchen ... seltsame Marotte von R

Wie rufe ich R-Funktionen auf, wie selektiere ich Daten, ich weiß nicht genau ....

Moderatoren: EDi, jogo

Antworten
8ZRbP
Beiträge: 60
Registriert: Do Okt 13, 2016 11:56 am

Wirkung von Zeilenumbrüchen ... seltsame Marotte von R

Beitrag von 8ZRbP »

R hat eine seltsame Marotte: Ein "+" muss immer am Ende einer Zeile stehen. Kommt vor dem "+" ein dagegen Zeilenumbruch (d.h. steht nicht am Ende von Zeile n, sondern am Anfang von Zeile n +1), funktioniert der Code nicht.

Das ist etwas nervig, man dadurch nicht immer einzelne Codezeilen auskommentieren kann, sondern ggf. auch immer das "+" der vorigen Zeile löschen und später wieder einfügen.

Das ist schon eine ungewöhnliche Marotte, in keiner anderen mir bekannten Programmiersprache hat ein Zeilenumbruch
eine Wirkung auf die Ausführung des Codes.

Was meint Ihr, gab es einen Sachgrund, das so umzusetzen?
bigben
Beiträge: 2778
Registriert: Mi Okt 12, 2016 9:09 am

Re: Wirkung von Zeilenumbrüchen ... seltsame Marotte von R

Beitrag von bigben »

Wie viele Sprachen kennst Du denn? Kennst Du womöglich nur Sprachen, in denen Zeilen immer mit Semikolon beendet werden?
Im Übrigen ist Deine Analyse falsch. Das hier ist gültiges R:

Code: Alles auswählen

print(4
      + 6)
auch das hier

Code: Alles auswählen

for(n in 1:3)
  print(n
  +1)
Eine Marotte kann man das kaum nennen, Sachgrund trifft. Eine Computersprache muss erkennen können, ob eine Kommandozeile jetzt abgeschlossen ist, oder nicht. Entweder muss der Programmierer das händisch markieren (ich vermute ein Semikolon in allen Dir bekannten Programmiersprachen) oder eine schlaue Sprache erschließt sich das selbst. Das geht halt nur auf Kosten eines erschließlichen Codes.

Der Gedanke, dass man in Summationsfolgen ganze Zeilen auskommentieren möchte ist wahrscheinlich in der Geschichte der Computer erstmals mit ggplot2 aufgekommen. Wo sonst sollte man sowas machen wollen?
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Wirkung von Zeilenumbrüchen ... seltsame Marotte von R

Beitrag von EDi »

Der Gedanke, dass man in Summationsfolgen ganze Zeilen auskommentieren möchte ist wahrscheinlich in der Geschichte der Computer erstmals mit ggplot2 aufgekommen. Wo sonst sollte man sowas machen wollen?
ggplot hat seine eigene Methode für `+`

Code: Alles auswählen

ggplot2:::`+.gg`
function (e1, e2) 
{
    if (missing(e2)) {
        stop("Cannot use `+.gg()` with a single argument. ", 
            "Did you accidentally put + on a new line?", call. = FALSE)
    }
    e2name <- deparse(substitute(e2))
    if (is.theme(e1)) 
        add_theme(e1, e2, e2name)
    else if (is.ggplot(e1)) 
        add_ggplot(e1, e2, e2name)
    else if (is.ggproto(e1)) {
        stop("Cannot add ggproto objects together.", " Did you forget to add this object to a ggplot object?", 
            call. = FALSE)
    }
}
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
Antworten