标签: mutable

F#:让mutable与ref

首先,我承认这个问题可能是重复的; 请告诉我

我很好奇当需要可变性时,对于那些情况,一般的"最佳实践"是什么.F#似乎为此提供了两种工具:let mutable绑定,它似乎像"大多数"语言中的变量一样工作,而参考单元(使用ref函数创建)需要显式解除引用才能使用.

有一对夫妇的情况下,其中一个是"被迫"转化为一种或另一种:.NET互操作倾向于使用可变带<-,并在工作流程的计算必须使用ref:=.所以这些案例非常明确,但我很好奇在这些场景之外创建自己的可变变量时该怎么做.一种风格比另一种风格有什么优势?(也许对实施的进一步了解会有所帮助.)

谢谢!

f# mutable

78
推荐指数
4
解决办法
2万
查看次数

将元素添加到scala.collection.mutable.Map的语法是什么?

将元素添加到scala.collection.mutable.Map的语法是什么?

以下是一些失败的尝试:

val map = scala.collection.mutable.Map

map("mykey") = "myval"

map += "mykey" -> "myval"

map.put("mykey","myval")
Run Code Online (Sandbox Code Playgroud)

scala add put mutable map

77
推荐指数
3
解决办法
11万
查看次数

将mutable转换为不可变映射

private[this]object MMMap extends  HashMap[A, Set[B]] with MultiMap[A, B]
Run Code Online (Sandbox Code Playgroud)

如何将其转换为不可变?

scala mutable immutability scala-collections

71
推荐指数
4
解决办法
5万
查看次数

可以通过闭包访问可变变量.我怎样才能解决这个问题?

我正在通过推特使用Typeahead.我正在接受Intellij的这个警告.这导致每个链接的"window.location.href"成为我的项目列表中的最后一项.

我该如何修复我的代码?

以下是我的代码:

AutoSuggest.prototype.config = function () {
    var me = this;
    var comp, options;
    var gotoUrl = "/{0}/{1}";
    var imgurl = '<img src="/icon/{0}.gif"/>';
    var target;

    for (var i = 0; i < me.targets.length; i++) {
        target = me.targets[i];
        if ($("#" + target.inputId).length != 0) {
            options = {
                source: function (query, process) { // where to get the data
                    process(me.results);
                },

                // set max results to display
                items: 10,

                matcher: function (item) { // how to make sure the …
Run Code Online (Sandbox Code Playgroud)

javascript closures mutable

71
推荐指数
3
解决办法
3万
查看次数

Java是否具有Integer,Float,Double,Long的可变类型?

我处在一种情况,我想使用像Integer这样的可变版本.我是否必须使用这些类(下面)或者Java内置了什么?

http://www.java2s.com/Code/Java/Data-Type/Amutableintwrapper.htm

java integer numbers mutable built-in

70
推荐指数
6
解决办法
5万
查看次数

从数组创建可变列表?

我有一个数组我想变成一个List,以便修改数组的内容.

堆栈溢出有大量的问题/,解决答案Arrays.asList()以及它如何仅提供底层阵列的列表视图,以及如何试图操纵所得列表通常将引发UnsupportedOperationException如用来操纵列表方法(例如add(),remove()等)是没有由List提供的实现实现Arrays.asList().

但我找不到如何将数组转换为可变List的示例.我想我可以循环遍历数组并将put()每个值循环到一个新的List中,但我想知道是否存在为我执行此操作的接口.

java arrays list mutable

64
推荐指数
4
解决办法
4万
查看次数

可变的hashmap键是危险的做法吗?

将可变对象用作Hashmap键是不好的做法吗?当您尝试使用已修改足以更改其哈希码的密钥从Hashmap检索值时会发生什么?

例如,给定

class Key
{
    int a; //mutable field
    int b; //mutable field

    public int hashcode()
        return foo(a, b);
    // setters setA and setB omitted for brevity
}
Run Code Online (Sandbox Code Playgroud)

用代码

HashMap<Key, Value> map = new HashMap<Key, Value>();

Key key1 = new Key(0, 0);
map.put(key1, value1); // value1 is an instance of Value

key1.setA(5);
key1.setB(10);
Run Code Online (Sandbox Code Playgroud)

如果我们现在打电话map.get(key1)怎么办?这是安全的还是可取的?或者行为是否依赖于语言?

hash key hashmap mutable hashcode

59
推荐指数
5
解决办法
2万
查看次数

可变函数参数默认值的良好用途?

在Python中将一个可变对象设置为函数中参数的默认值是一个常见的错误.以下是David Goodger撰写的优秀文章中的一个例子:

>>> def bad_append(new_item, a_list=[]):
        a_list.append(new_item)
        return a_list
>>> print bad_append('one')
['one']
>>> print bad_append('two')
['one', 'two']
Run Code Online (Sandbox Code Playgroud)

之所以出现这种情况的解释是在这里.

现在我的问题:这个语法有一个很好的用例吗?

我的意思是,如果遇到它的每个人都犯了同样的错误,调试它,理解问题,从而试图避免它,这种语法有什么用?

python arguments mutable default-value

59
推荐指数
5
解决办法
7022
查看次数

互斥量应该是可变的吗?

不确定这是一个风格问题,还是一个有硬规则的东西......

如果我想尽可能保持公共方法接口为const,但是使对象线程安全,我应该使用可变互斥锁吗?一般来说,这是一个好样式,还是应该首选非const方法接口?请证明你的观点.

c++ mutex mutable

57
推荐指数
2
解决办法
2万
查看次数

我如何从方法中改变结构的字段?

我想做这个:

struct Point {
    x: i32,
    y: i32,
}

impl Point {
    fn up(&self) {
        self.y += 1;
    }
}

fn main() {
    let p = Point { x: 0, y: 0 };
    p.up();
}
Run Code Online (Sandbox Code Playgroud)

但是这段代码抛出了编译器错误:

error[E0594]: cannot assign to field `self.y` of immutable binding
 --> src/main.rs:8:9
  |
7 |     fn up(&self) {
  |           ----- use `&mut self` here to make mutable
8 |         self.y += 1;
  |         ^^^^^^^^^^^ cannot mutably borrow field of immutable binding
Run Code Online (Sandbox Code Playgroud)

mutable rust

52
推荐指数
2
解决办法
3万
查看次数