immutability相关内容

在Python语言中,当我们为一个变量赋一个新值时,旧变量会发生什么情况?

我知道还有其他类似的问题,但它们没有回答重新分配后以前的值会发生什么,这就是为什么我决定发布一个新的问题。到目前为止,我已经了解到,Python中的一切都是对象,甚至int、浮点、字符串、bool类型的变量也是对象,我在某个地方读到,当我们分配一个变量num = 11时,num实际上并不是将11的值存储在其中,而是指向内存中存储11的某个位置的指针。如果我们尝试将一个值重新分配给numnum = ..
发布时间:2022-04-17 20:14:42 Python

我可以使用大括号初始化BCL不可变集合吗?

在过去,我们可以方便地使用大括号初始化可变集合,如下例所示: var myDictionary = new Dictionary {{"hello", 0m}, {"world", 1m}}; 是否有类似的语法可用于BCL不可变集合?我知道这仍然是一个预发行版,但可能有推荐的语法,或者至少这个问题将作为反馈来实现这些方便的初始化器。 同时,我找到的 ..

并发散列映射中值的原子更新-如何?

任务是跟踪一些正在运行的进程。将该信息保存在内存中很好,因此我使用并发散列映射来存储该数据: ConcurrentHashMap RUNNING_PROCESSES = new ConcurrentHashMap(); 将新对象安全地放置到映射中是很好的,问题是这些进程的状态会发生变化,所以我必须不时地更新ProcessMetaData。 ..
发布时间:2022-04-17 20:10:17 Java开发

在Google Go语言中,哪些类型是可变的,哪些是不可变的?

在Google Go中,我读到字符串是一成不变的,好吗,但int是吗? 其他类型的呢?作为一名稍年长的程序员,我更喜欢变化性尽管我知道不变性的好处,但我更喜欢危险地生活。 了解哪些类型是可变的或不可变的将非常有帮助。 更新,我最关心的是取决于类型是可变的还是不可变的实际问题。与Java中的典型示例一样,如果您在循环中创建一个字符串并循环10,000次,您将获得10,000个创建的字符串 ..
发布时间:2022-04-17 20:06:24 其他开发

更新对象的嵌套数据数组(Redux)

我在更新不可变的重复数据和非常嵌套的数据时遇到了问题。下面是我的数据结构的一个示例以及我想要更改的内容。如果有人能向我展示使用ES6和传播运算符访问此更新的模式,我将不胜感激。😀 const formCanvasInit = { id: guid(), fieldRow: [{ id: guid(), fieldGroup: [ { type: 'tex ..
发布时间:2022-04-17 20:04:57 前端开发

PYTHON中的可变和不可变字符串

我刚刚介绍了python中的可变结构和不可变结构。 在Python语言中写道,字符串是不变的,即我们不能更改它们 请考虑以下代码: str1='Rohit' str1.replace('R','M') 这给出了输出: 'Mohit' 现在,有人说是变量str1指向字符串‘RoHit’,在str1.place()之后,它指向‘MoHit’ 请考虑以下代码: 'Rohit'. ..
发布时间:2022-04-17 20:03:04 Python

重新约束的规则是什么?

[注意:我是根据Rakudo的旧版本提出这个问题的。正如the accepted answer中所解释的,令人困惑的输出是have now been resolvedRakudo错误的结果。我已将以下问题的原始版本留作历史参考。] Raku有时禁止重新绑定;以下两行 sub f($a) { $a := 42 } my var = 'foo'; var := 'not-foo'; 生 ..
发布时间:2022-04-17 20:00:08 其他开发

为什么 JavaScript 中的不变性如此重要(或需要)?

我目前正在研究 React JS 和 React Native 框架.在中途我遇到了 Immutability 或 Immutable-JS 库,当时我正在阅读关于Facebook 的 Flux 和 Redux 实现. 问题是,为什么不变性如此重要?改变对象有什么问题?这不是让事情变得简单吗? 举个例子,让我们考虑一个简单的新闻阅读器应用,其起始屏幕是新闻标题的列表视图. 如果我 ..

D中的const和immutable有什么区别?

D中的const和immutable类型限定符有什么区别? 解决方案 const 不能通过该引用进行变异,但可以通过对相同数据的可变引用进行变异.immutable 不能通过 any 对该数据的引用来改变.所以,如果你有 const C c = foo(); 那么你就知道不能通过c改变c所引用的对象,但是c所引用的对象的其他引用可能存在于你的代码中,如果它们是可变的,它们可以改变它,从 ..
发布时间:2022-01-23 23:54:39 其他开发

Rust 中的不可变变量和 const 变量有什么区别?

我了解到,如果一个变量没有使用 mut 显式声明为可变的,它就会变成不可变的(声明后不能更改).那么为什么我们在 Rust 中有 const 关键字呢?他们不一样吗?如果不是,它们有何不同? 解决方案 const,在Rust中,是constant的缩写,与compile-time有关评价.它出现了: 声明常量时:const FOO: usize = 3; 在声明编译时可评估函数时: ..
发布时间:2022-01-23 23:37:53 其他开发

JavaScript 中的 const:何时使用它,是否有必要?

我最近遇到了 JavaScript 中的 const 关键字.据我所知,它用于创建 不可变变量,以及我已经测试以确保它不能被重新定义(在 Node.js 中): const x = 'const';常量 x = '非常量';//会报错:'constant 'x' has been defined' 我意识到它尚未在所有浏览器中标准化 - 但我只对 Node.js V8,我注意到某些 开发人员/ ..
发布时间:2022-01-23 23:01:51 前端开发

System.String.Copy 在 .NET 中有什么用?

恐怕这是一个非常愚蠢的问题,但我一定错过了什么. 为什么要使用 String.Copy(string)? 文档说方法 创建一个新的 String 实例与指定字符串相同的值. 由于字符串在 .NET 中是不可变的,我不确定使用这种方法有什么好处,因为我认为 字符串复制 = String.Copy(otherString); 出于所有实际目的,似乎会产生与 相同的结果 ..
发布时间:2022-01-20 17:59:56 C#/.NET

python 元组是不可变的 - 那为什么我可以向它添加元素

在阅读以下代码片段时,我已经使用 Python 一段时间了: >>>a = (1,2)>>>a += (3,4)>>>一个(1, 2, 3, 4) 我问自己一个问题:为什么 python 元组是不可变的,我可以对它们使用 += 运算符(或者,更一般地说,为什么我可以修改元组)?而我自己也无法回答. 我理解了不变性,虽然它们不像列表那样流行,但元组在 python 中很有用.但是不可变并且 ..
发布时间:2022-01-19 23:53:53 Python

Python 有一个不可变的列表吗?

python 有不可变的列表吗? 假设我希望有一个有序的元素集合的功能,但我想保证不会改变,如何实现?列表是有序的,但它们可以改变. 解决方案 是的.它被称为 tuple. 所以,[1,2] 是一个 list 并且可以被变异,而不是 (1,2) 是一个tuple 不能. 更多信息: 单元素的tuple不能通过写(1)来实例化,而是需要写(1,).这是因为解释器对括号 ..
发布时间:2022-01-19 23:51:49 Python

为什么 python 字符串和元组是不可变的?

我不确定为什么字符串和元组是不可变的;使它们不可变的优点和缺点是什么? 解决方案 一个是性能:知道一个字符串是不可变的,因此很容易在施工时布置——固定不变的存储要求.这也是其中之一区分的原因元组和列表.这也允许安全重用字符串的实现对象.例如,CPython实现使用预分配单字符串的对象,并且通常会返回原件用于字符串操作的字符串不会改变内容. 另一个是Python中的字符串被认为是“ ..
发布时间:2022-01-19 23:37:47 Python