11得票7回答
jQuery对象是不可变的吗?

你好,我是一个新手在学习 jQuery,想知道 jQuery 对象是否是不可变的。 例如:var obj1 = $("<tag></tag>"); var obj2 = obj1.append("something"); obj1和obj2的意思是否相同,obj2会引用...

11得票1回答
C语言中的常量正确性

显然,使用 const 是一种良好的实践,除非需要可变性,但是应该如何使用呢?如果我有一个字符串数组,我的函数签名是否应该包括它? char const * const * const my_strings 我不会对其进行任何修改,因此它是指向常量指针,该指针指向常量字符数组的第一个元素的数组...

11得票2回答
在函数式编程语言中,何时修改变量才是可以接受的?

我正在使用Racket Scheme自学函数式编程,目前非常喜欢它。作为练习,我一直在尝试以纯粹的函数式方式完成一些简单的任务。我知道不可变性是函数式风格的重要组成部分,但我想知道是否有任何时候可以例外。我想到了一种有趣的方法来实现从字符串列表中剥离非唯一字符串的函数,在使用`filter`时...

10得票1回答
如何为任何可变性实现一个trait?

可以将可变性作为特质中的通用参数吗?我想实现一个特质,用于一种类型的可变和不可变变体,而不必复制黏贴impl块。 trait Foo {…} impl Foo for *const T {…} impl Foo for *mut T {…相同的内容…} 期望的伪代码: trait Fo...

10得票3回答
内部可变性如何用于缓存行为?

我正在尝试创建一个 struct,它接收一个 Path 并且在需要时从指定的路径加载图像。这是我目前的代码: extern crate image; use std::cell::{RefCell}; use std::path::{Path}; use image::{DynamicIm...

9得票1回答
不可变的借用和可变的借用绑定导致了“无法同时多次可变地借用`*self`”错误。

我正在通过练习学习Rust。在这个文件中,目标是像电子表格一样更新单元格:当值更改时,必须重新计算所有派生自它的单元格。这些被称为该单元格的父级。 更新单元格值没有问题,但更新父对象却让我与借用检查器斗争。当我从HashMap中检索到单元格并更新其值后,我不再需要可变引用 - 因此我尝试使用...

9得票1回答
无法借用为不可变-String和len()

let mut result = String::with_capacity(1000); result.push_str("things... "); result.push_str("stuff... "); result.truncate((result.len() - 4)); ...

9得票3回答
Rust编译器如何知道`Cell`具有内部可变性?

考虑以下代码(Playground version): use std::cell::Cell; struct Foo(u32); #[derive(Clone, Copy)] struct FooRef<'a>(&'a Foo); // the body of t...

9得票1回答
如何解释Rust中对可变类型的不可变引用?

如果在我的解引用链中有任何不可变的引用,那么我似乎无法修改任何内容。一个例子: fn main() { let mut x = 42; let y: &mut i32 = &mut x; // first layer let z: &&...

9得票3回答
":volatile-mutable"和":unsynchronized-mutable"有哪些语义上的影响?"

我在学习Clojure库时注意到一个可变字段被注释为^:unsynchronized-mutable。可变是可变的,但我不知道unsynchronized部分的含义,因此我阅读了docs,其中包含: 请注意,可变字段极其难以正确使用,仅用于在Clojure本身中构建更高级别的结构(例如Clo...