标签: mutable

始终包含当前变量值的列表.C#

因此,我需要一个列表(或类似的数据结构),一旦添加它,它总是保存给定变量的当前值.这是当前发生的事情(更简单/伪代码):

intValue = 5;
intList.Add(intValue);

Print intList[0].toString();
Run Code Online (Sandbox Code Playgroud)

打印"5"

intValue++;
Print intList[0].toString();
Run Code Online (Sandbox Code Playgroud)

当我想要打印intValue的新值"6"时仍然打印"5".

基本上列表需要存储对intValue的引用(我认为这是正确的术语),而不是它的实际值.谢谢你的时间.

c# list mutable

0
推荐指数
1
解决办法
201
查看次数

修改字符串的实例

我有一个字符串:

str="D\\projects\\myown\\java"
Run Code Online (Sandbox Code Playgroud)

我将此字符串分配给两个变量,如:

str1=str
str2=str
Run Code Online (Sandbox Code Playgroud)

我做了以下操作后:

idgb1=str1.gsub!("\\","_")
Run Code Online (Sandbox Code Playgroud)

我得到str1D_projects_myown_javastr2是一样的.为什么会这样?我不想str2改变它的价值.

ruby string mutable

0
推荐指数
1
解决办法
52
查看次数

Python对象的多个实例的作用类似于同一个实例

我这里有我的班级模板:

 import sqlite3

class Patron(object):
    #Let's set some basic attributes
    attributes = { "patron_id" : None,
    "name" : None,
    "address" : None,
    "phone" : None,
    "email" : None,
    "fee_balance" : None,
    "fees_per_day" : None,
    "books_checked_out" : [],
    "books_overdue" : []}

    def __init__(self):
        #Create a empty instance
        pass

    def new(self, patron_id, name, address, phone, email):
        #Create an instance with new values
        self.attributes["patron_id"] = patron_id
        self.attributes["name"] = name
        self.attributes["address"] = address
        self.attributes["phone"] = phone
        self.attributes["email"] = email

    def retrieve(self, patron_id):
        #Connect to …
Run Code Online (Sandbox Code Playgroud)

python arguments default behavior mutable

0
推荐指数
1
解决办法
1466
查看次数

在没有地图键的情况下将地图转换为Scala中的列表?

如何将地图转换为列表而不在scala中的列表中包含映射键?

val mp = collection.mutable.Map[Long, String]()
mp(0) = "val0"
mp(1) = "val1"
mp(2) = "val2"
mp.toList //I want: List("val0", "val1", "val2")
Run Code Online (Sandbox Code Playgroud)

scala list mutable map scala-collections

0
推荐指数
1
解决办法
199
查看次数

将元素追加到 Scala 列表中

val indices: List[Int] = List()
val featValues: List[Double] = List()
for (f <- feat) {
    val q = f.split(':')
    if (q.length == 2) {
        println(q.mkString("\n")) // works fine, displays info
       indices :+ (q(0).toInt)
       featValues :+ (q(1).toDouble)

}
}
println(indices.mkString("\n") + indices.length) // prints nothing and 0?
Run Code Online (Sandbox Code Playgroud)

indices并且featValues没有被填满。我在这里不知所措。

scala mutable immutability

0
推荐指数
1
解决办法
1206
查看次数

C++ 11:std :: initializer_list是否存储匿名数组?它可变吗?

C++标准是否说这std::initializer_list<T>是对本地匿名数组的引用?如果它说,那么我们永远不应该返回这样的对象.标准中的任何部分都这样说了吗?

另一个问题是,一个std::initializer_list<T>可变的基础对象?我试着修改它:

#include <initializer_list>
int main()
{
    auto a1={1,2,3};
    auto a2=a1;//copy or reference?
    for(auto& e:a1)
        ++e;//error
    for(auto& e:a2)
        cout<<e;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但编译错误:错误:只读参考'e'的增量

如果我想更改initializer_list中的值,我该如何解决?

arrays anonymous mutable initializer-list c++11

0
推荐指数
1
解决办法
230
查看次数

如何将标签链接到F#中的可变变量?

我想在F#中创建一个标签,它使用一个可变变量来返回一个值.不幸的是,F#将此标签设置为常量值.如果mutable的值发生更改,则标签的值仍然存在.是不是有点不一致?有没有办法让标签("a")依赖于mutable("x")?

let mutable x = 0;

let a = x + 2; // I want not to set a to a constant value
let b two = x + two;

x <- 1;

let c = b 2;

let isConsistent = a = c;


val mutable x : int = 1
val a : int = 2
val b : two:int -> int
val c : int = 3
val isConsistent : bool = false
Run Code Online (Sandbox Code Playgroud)

f# mutable

0
推荐指数
1
解决办法
94
查看次数

为什么我们可以锁定const对象中定义的互斥锁?

工作案例:

template<typename T>
class threadsafe_queue
{
private:
    mutable std::mutex mut;
    std::queue<T> data_queue;

public:
    threadsafe_queue()
    {}

    threadsafe_queue(const threadsafe_queue& other)
    {
        std::lock_guard<std::mutex> lk(other.mut);
        data_queue=other.data_queue;
    }
};
Run Code Online (Sandbox Code Playgroud)

案例应该会失败:注意不mutablestd::mutex mut;

template<typename T>
class threadsafe_queue
{
private:
    std::mutex mut;
    std::queue<T> data_queue;

public:
    threadsafe_queue()
    {}

    threadsafe_queue(const threadsafe_queue& other)
    {
        std::lock_guard<std::mutex> lk(other.mut);
        data_queue=other.data_queue;
    }
};
Run Code Online (Sandbox Code Playgroud)

我已经尝试过上面列出的两种情况,并且编译没有问题.我假设内部lock_guard调用mutex :: lock函数,它本身不是const函数.

问题>为什么我们可以从复制构造函数中的const对象锁定互斥锁?

c++ synchronization const mutable c++11

0
推荐指数
1
解决办法
805
查看次数

在python中测试可变性

我正在做一个简单的测试以验证可变性我有一个变量 var

我想验证=赋值运算符是否正在为此更改相同存储位置的值

var = 1

要打印var我的 地址

hex(id(var))它给了我'0x1b65158'然后我分配了新值,var = 2但现在hex(id(var))更改为'0x1b65140'如果它更改了相同的位置,应该返回相同的值吗?请解释

注意:我不想做这里提到的相同任务。我试图了解它是如何可变分配的。而且我不想在这里创建常量。

python mutable

0
推荐指数
1
解决办法
76
查看次数

由两个闭包修改的变量

考虑以下(人为的)递增x方式9

fn main() {
  let mut x = 0;
  let mut f = || {
    x += 4;
  };
  let _g = || {
    f();
    x += 5;
  };
}
Run Code Online (Sandbox Code Playgroud)
error[E0499]: cannot borrow `x` as mutable more than once at a time
 --> x.rs:6:12
  |
3 |   let mut f = || {
  |               -- first mutable borrow occurs here
4 |     x += 4;
  |     - first borrow occurs due to use of `x` in …
Run Code Online (Sandbox Code Playgroud)

closures mutable rust borrowing

0
推荐指数
2
解决办法
207
查看次数