order-of-evaluation

    4熱度

    3回答

    我知道後綴/前綴增量/減量運算符的作用。而在JavaScript中,這似乎沒有什麼不同。 雖然我可以猜到此行的結果很容易: var foo = 10; console.log(foo, ++foo, foo, foo++, foo); // output: 10 11 11 11 12 爲++運營商單獨出現在表達式中。 它變得有點複雜,因爲這些運營商出現在同一個表達式中: var foo =

    5熱度

    1回答

    我無法掌握下面列出的代碼中的評估邏輯。有誰知道爲什麼PHP在這種情況下評估$b和$b = $b的方式不同嗎? 我已閱讀了SO的一些問題,並檢查了PHP manual。這樣做我已經瞭解「PHP不(在一般情況下)指定表達式評估的順序爲」和「,該行爲可以在PHP版本之間或根據周圍代碼進行更改」 。我不覺得這適用於這種情況。還是呢? 作爲第一個承認這可能不是你的日常編碼問題,我仍然好奇。偶然想到做一些co

    3熱度

    1回答

    我想在Haskell(Haskell中的第一個嚴肅的程序)中編寫一個命令行實用程序來查詢通過串行端口連接到arduino的傳感器。代碼的相關部分如下: -- Read a single reading from the serial port recursiveread :: SerialPort -> B.ByteString -> IO B.ByteString recursiveread

    0熱度

    1回答

    從凱茜塞拉利昂書上找到OCA/OCP Java SE 7級中的程序員我& II學習指南瞭解這個以下布爾表達式: int x = 2; int y = 5; if ((x > 3) && (y < 2) | doStuff()) { System.out.println("true"); } 這現在打印...什麼都沒有!因爲前面的代碼(少一個 括號)評估就好像你在說,「如果(x>

    0熱度

    2回答

    我有以下代碼 myQueue.offer(new myObj( fcnA, Collections2.transform(...), Collections2.transform(...) )) 我的問題是在什麼時候被Collections2.transform(...)評估? 我的猜測是,直到從隊列中調用myObj的創建纔會發生這種情況。它是否正確?

    0熱度

    1回答

    我想知道在編程中如何使用Church-Rosser定理,特別是函數式編程。我查閱了信息,但只能找到提及lambda微積分(有限知識)和beta減少的來源。 如果任何人都可以解釋lambda微積分在什麼地方出現,以及什麼是縮減,我認爲這樣可以解決問題。 我對Church-Rosser定理的初步想法是,它是關於評估和執行功能的順序,但我不完全確定這是否是準確的信息。 謝謝。 注意:我目前正在學習標準M

    4熱度

    2回答

    換句話說是 d = {} d["key"] = len(d) 在Python 安全嗎? 我知道這是undefined behaviour in C++;程序可能會在計算要分配給它的值之前獲取元素的引用。這是類似的Python還是len(d)總是在d.__getitem__("key")之前計算?

    3熱度

    1回答

    什麼是Lua解釋這種形式不佳的表達? return 1 or 2 == 3 and 4 - > 1 它肯定不是通過各運營商加緊從左至右: return (1 or 2) == 3 and 4 - >假 難道是反向評價?

    2熱度

    1回答

    我在其上提供以客戶爲一組.aar文件,然後將其納入自己的項目,像這樣的框架內開展工作: ... +-- assets +-- libs +-- framework-module1.aar +-- framework-module2.aar +-- framework-module3.aar +-- customer.aar +-- main

    2熱度

    2回答

    在OCaml中,當使用let爲短路運營商(&&或||)分配別名時,它不再短路評估操作數。 這並不直觀。這種行爲的原因是什麼? 考慮下面的代碼: let f() = Printf.printf "f"; false;; let g() = Printf.printf "g"; true;; let a = (&&);; f() && g();; (* outputs 'f' *) (&&