2017-02-01 45 views
2

在控制檯中鍵入0-2:-4返回[1] -2 -1 0 1 2 3 4。任何人都可以解釋這背後的邏輯嗎?爲什麼序列操作符0-2:-4會導致-2 -1 0 1 2 3 4?

+2

它在R-FAQ(有點):參見7.33節和?語法。你的表達被解釋爲0減seq(2,-4)。一元「 - 」 - 運算符的優先級高於「冒號」,冒號「:」 - 運算符的優先級高於二進制減號。 –

+0

只是一個普遍的說明 - 如果你沒有做到你期望的事情,並且你在這裏發佈,告訴我們你的期望不會有什麼壞處。我看到你的代碼,並知道R如何處理這些事情,所以在我看來,它看起來應該是這樣。這是一個簡單的例子,很容易找出你可能打算做的事情,但如果你問一個問題,澄清你的期望是個好主意。 – Dason

回答

7

由於操作的順序:

0 - (2:-4) 

它擴展到

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

的更多細節,包括二元運算符的優先順序的完整列表,請參閱?Syntax

+0

很好的編輯,謝謝@Gregor。 (不要以爲我實際上已經閱讀過那個頁面:-) – r2evans

相關問題