哪一個應該先評估,x = 1或x = 2?支架評估
在這種情況下: Y =(X *(X = 1))/(X +(X = 2))
在這種情況下: Y =(6+(X-(X = 1))/(4 +(9-(X *(X = 2))))
...例如。
我在表達式評估敲在一起的非常粗略估計而回。在括號評估中,我簡單地從左到右優先考慮(對於每個括號集合,顯然仍然是第一深度),但是應該首先評估哪一個括號集合的問題最先困擾我。最深的第一集還是堅持l到r的優先級?
哪一個應該先評估,x = 1或x = 2?支架評估
在這種情況下: Y =(X *(X = 1))/(X +(X = 2))
在這種情況下: Y =(6+(X-(X = 1))/(4 +(9-(X *(X = 2))))
...例如。
我在表達式評估敲在一起的非常粗略估計而回。在括號評估中,我簡單地從左到右優先考慮(對於每個括號集合,顯然仍然是第一深度),但是應該首先評估哪一個括號集合的問題最先困擾我。最深的第一集還是堅持l到r的優先級?
這是您的選擇。從這個維基百科文章「Order of Operations」:
Many programming languages use precedence levels that conform to the order
commonly used in mathematics, though some, such as APL and Smalltalk, have
no operator precedence rules (in APL evaluation is strictly right to left,
in Smalltalk it's strictly left to right).
在一天結束的時候它完全地取決於你如何實現它。 但從我的經驗來看,大多數流行的語言都是從左到右使用。很明顯的例子會是這樣的邏輯表達式的評價:
在從右到左的情況下if (obj != null && obj.propertyA == "a")
,你將不得不異常
謝謝...我想我主要是尋找一個數學答案,雖然「我常用的」這個短語仍然讓我感到很開放。 – Beeblbrox