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("