immutability

    1熱度

    1回答

    我以純粹的OO方式實現了Ruby中的二叉樹迷宮代。我試圖在Elixir中將其重寫爲學習練習,但我遇到了OO與FP範例的一些問題。 我渲染一個包含單元格的網格。當使用二叉樹算法在網格中行走時,對於我決定與其旁邊的北部或東部單元格連接的每個單元格。這種鏈接在Ruby實現中是雙向的: def link(cell, bidirectional=true) @links[cell] = true

    0熱度

    1回答

    我正在使用過程hash-set來設置hash?中的值。它似乎需要散列爲immutable?。到目前爲止,我無法找到一個更好的辦法來改變一個可變的散列成不可變的哈希比下面 (化妝不可變的哈希(散列>列表myhash)) 散列是一些yaml,我正在從一個文件讀取和yaml模塊給了我一個可變的散列。例如,我有以下代碼: (hash-set yaml-hash "content"

    -1熱度

    1回答

    背景 我試圖創建列表中包含不可變對象的列表不可變對象,以及對象類型總數不可變對象。 我創建了一個輕微的sudo要點,試圖展現我的意思。 Gist - Adjusting an immutable object that contains an immutable object list. 說明 我的例子顯示瞭如何我目前做的,它的工作。但不是所有情況。 我的VeggieCartView將有一個rec

    1熱度

    1回答

    我想弄清楚如何在F#中使用不可變對象做一個列表。待辦事項列表(不一定是F#列表)可能從數據庫中提取或從用戶輸入中收集,或者從XML或JSON等中讀取。該部分並不重要。 僞代碼: do for some length of time: for each item in the to do list: if item is ready to do: do item

    1熱度

    1回答

    我使用Swift 3,並且我想根據布爾值初始化一個String let變量。我知道如何用一個帶有var變量的標準if語句來做到這一點,而不是一行表達式。 使用Java我會做: String str = myBool ? "John" : "Peter"; 是否與斯威夫特3等同於不使用VAR和單行道?

    0熱度

    1回答

    菜鳥問題在這裏。我玩弄終極版,但無法弄清楚如何使這一功能(我刪除完成待辦事項)不變以優雅的方式: 這是從我的減速器: case "DELETE_CHECKED_TODOS": return state.filter((todo, index) => { return !todo.completed })

    0熱度

    2回答

    考慮以下幾點: case class Node(var left: Option[Node], var right: Option[Node]) 可以很容易地看到你怎麼可以遍歷此,搜索它,不管。但現在想象你做到了這一點: val root = Node(None, None) root.left = root 現在,這是糟糕的,災難性的。實際上,你將它輸入到REPL中,你將得到一個Sta

    -2熱度

    2回答

    public final class Test { private final Date date; public Test() { date = new Date(); } public Test(Date date) { this.date = date; } public Date getDate()

    5熱度

    3回答

    在React的this.state中,我有一個名爲formErrors的屬性,其中包含以下動態數組對象。 [ {fieldName: 'title', valid: false}, {fieldName: 'description', valid: true}, {fieldName: 'cityId', valid: false}, {fieldName:

    0熱度

    2回答

    我是redux的新手,我正嘗試創建一個完全的redux應用程序。我遇到的問題是我的減速器不會更新我的商店。如果我要在減速器中改變商店,那麼我會看到我的改變。我知道這是不好的做法,所以我正在嘗試更新它而沒有改變它,但是當我看着控制檯時。我看不到國家的變化。有人能幫我弄清楚爲什麼減速機沒有更新商店嗎? 這是我的行動: store.subscribe(() => { console.log("