side-effects

    1熱度

    1回答

    我試圖圍繞函數式編程來存儲狀態。 我寫了一個兼有突變和副作用的函數;雖然,確實包括一些封裝。我如何用函數式編程來表示這個相同的功能? const createCallbackChain =() => { let callbacks = [] const addCallback = callback => ( callbacks .push

    0熱度

    1回答

    我遇到了一些我無法輕易向自己解釋的奇怪副作用。可能我錯過了一些非常明顯的東西,但我現在已經查找了幾個小時的錯誤,並且代碼非常簡單,所以我得出結論,我必須對某些東西有一些根本性的誤解。 考慮以下代碼,這是爲了計算兩個二維矩陣(的產品,我已經改變了set()函數添加-1的說法細胞,使調試輸出更容易理解。 template<class T, unsigned column_count, unsigned

    4熱度

    1回答

    我已閱讀cppreference的Order of evalution,但我找不到涉及此情況的任何規則。這是否意味着沒有先後順序的關係或者我錯過了什麼?謝謝。 下面的代碼片段給出了一個例子。 #include <memory> struct Foo { void func(std::unique_ptr<Foo>) {} }; int main() { auto pt

    1熱度

    1回答

    我想動態設置方法來模擬下面的代碼的數字對象。但是,每個方法都被設置爲循環中的最後一個方法。爲什麼會發生這種情況,我如何說服Python到DWIM? #!/usr/bin/env python3.5 class Foo(float): pass for tp in ("add", "sub", "mul", "truediv", "floordiv", "mod", "divmod"

    -1熱度

    1回答

    從Wikipedia: 在計算機科學中,功能或表達被認爲具有的副作用,如果它修改某些狀態下的範圍內,或具有與其調用函數或外界可觀察到的相互作用。 從You Don't Know JS 還有其他副作用的表達,雖然。例如: var a = 42; var b = a++; 我得到42被分配到B,再變成43。然而,由於A和B都在全球範圍內爲什麼會這被認爲是副作用? 我很感激任何幫助。

    1熱度

    2回答

    我目前正在進行關於函數式編程的演示,並且遇到了以下問題。 函數式編程旨在將'what'與'how',或者更確切地說是從其解釋中的計算聲明中分離出來。這就是爲什麼這種範例的主要焦點之一是使用可組合的數據結構來表示計算,而不做任何關於它們如何執行的假設。例如: // Represents a computation that may fail case class Unsafe[A,B](run:

    0熱度

    1回答

    我有一個問題,它是簡單的商業邏輯流程: 檢查在多個部門,部門與員工關係的員工是否在緩存中,首先檢查關係是否存在於緩存中,如果檢查員工是否屬於 ,如果不在緩存中,則從數據庫中獲取,並檢查員工關係,然後將部門信息保存到緩存。 這是代碼: public Observable isEmployeeInDepartment(List<Long> departmentIds, long employeeId)

    2熱度

    2回答

    我試着用combineAll,把所有的結合起來,我嘗試過不同的組合,但是無法工作。 但我設法通過使用所有這些switchMap/map這個醜陋的嵌套來獲得一些工作代碼。 如何使用combineAll實現相同的結果? @Effect() SelectItem$: Observable<Action> = this.actions$ .ofType(supernode.Action

    1熱度

    1回答

    我有以下的配置類: class ConfigB(object): Id = None fileName = None def __init__(self, file): self.Id = self.searchForId(file) self.fileName = file 這是在下面的類實例化多次和屬性進行訪問: from config.

    0熱度

    3回答

    當處理現有庫(不能編輯構造函數或伴隨對象)時,我經常發現需要調用對象的init/setup過程,然後返回對象本身。我通常最終會做類似下面的事情。 def createObject: MyObject = { val o = new MyObject o.init() o } 這是恕我直言不是非常優雅,我想知道是否有這樣做,例如更好的方法,一個的建立和取得功能的線