2017-02-01 4 views
2

Eingabe in 0-2:-4 gibt [1] -2 -1 0 1 2 3 4 in der Konsole zurück. Kann jemand die Logik dahinter erklären?Warum führt der Sequenzoperator 0-2: -4 zu -2 -1 0 1 2 3 4?

+2

Es ist in der R-FAQ (Art von): Siehe Abschnitt 7.33 und? Syntax. Ihr Ausdruck wird als 0 minus seq (2, -4) interpretiert. Der unäre "-" - Operator hat eine höhere Priorität als der "Doppelpunkt" und der Doppelpunkt ":" - der Operator hat eine höhere Priorität als ein binäres Minus. –

+0

Nur eine allgemeine Anmerkung - wenn Sie etwas nicht tun, was Sie erwarten, und Sie hier schreiben, würde es nicht schaden, uns zu sagen, was Sie erwarten. Ich sehe deinen Code und weiß, wie R mit diesen Dingen umgeht, also sieht es in meinen Augen genau so aus, wie es sollte. Dies ist ein einfaches Beispiel und es ist einfach genug herauszufinden, was Sie wahrscheinlich vorhatten, aber wenn Sie eine Frage stellen, ist es eine gute Idee zu klären, was Ihre Erwartungen waren. – Dason

Antwort

7

Aufgrund der Reihenfolge der Bedienung:

0 - (2:-4) 

der

0 - c(2, 1, 0, -1, -2, -3, -4) 

zu

erweitert Siehe ?Syntax für weitere Informationen, einschließlich einer vollständigen Liste der binären Operatoren in der Rangfolge.

+0

Gut bearbeiten, danke @Gregor. (Ich glaube nicht, dass ich diese Seite schon gelesen habe ... :-) – r2evans

Verwandte Themen