标签: mutable

在变量名之前和":"之后放置"mut"有什么区别?

这是我在Rust文档中看到的两个函数签名:

fn modify_foo(mut foo: Box<i32>) { *foo += 1; *foo }
fn modify_foo(foo: &mut i32) { *foo += 1; *foo }
Run Code Online (Sandbox Code Playgroud)

为什么不同的位置mut

似乎第一个函数也可以声明为

fn modify_foo(foo: mut Box<i32>) { /* ... */ }
Run Code Online (Sandbox Code Playgroud)

variables syntax reference mutable rust

51
推荐指数
3
解决办法
5734
查看次数

如何附加或前置Scala mutable.Seq

关于Scala,我有些不明白的地方collection.mutable.Seq.它描述了所有可变序列的接口,但是我没有看到在不创建新序列的情况下附加或前置元素的方法.我错过了一些明显的东西吗?

:++:分别追加和前插,但他们创造新的集合-为了与不变序列的行为是一致的,我想.这是好的,但为什么会出现不一样的方法+=+=:,如ArrayBufferListBuffer定义,用于就地追加和预先准备?这是否意味着我不能引用一个可变的seq,它被键入,collection.mutable.Seq就像我想要就地添加一样?

再一次,我一定错过了一些明显的东西,却找不到什么......

scala mutable sequence scala-collections

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

java中的可变和不可变String之间有什么区别

据我所知,

可以更改可变字符串,并且不能更改不可变字符串.

在这里,我想像这样更改String的值,

String str="Good";
str=str+" Morning";
Run Code Online (Sandbox Code Playgroud)

和其他方式是,

StringBuffer str= new StringBuffer("Good");
str.append(" Morning");
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,我试图改变其价值str.任何人都可以告诉我,这两种情况有什么不同,并给我清晰的可变和不可变对象的图片.

java string mutable stringbuffer immutability

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

del使用不好吗?

我通常del在我的代码中使用删除对象:

>>> array = [4, 6, 7, 'hello', 8]
>>> del(array[array.index('hello')])
>>> array
[4, 6, 7, 8]
>>> 
Run Code Online (Sandbox Code Playgroud)

但我听到很多人说使用del是unpythonic.使用del不好的做法?

>>> array = [4, 6, 7, 'hello', 8]
>>> array[array.index('hello'):array.index('hello')+1] = ''
>>> array
[4, 6, 7, 8]
>>> 
Run Code Online (Sandbox Code Playgroud)

如果没有,为什么有很多方法可以在python中完成同样的事情?一个比其他人好吗?

选项1:使用 del

>>> arr = [5, 7, 2, 3]
>>> del(arr[1])
>>> arr
[5, 2, 3]
>>> 
Run Code Online (Sandbox Code Playgroud)

选项2:使用 list.remove()

>>> arr = [5, 7, 2, 3]
>>> arr.remove(7)
>>> arr
[5, 2, 3] …
Run Code Online (Sandbox Code Playgroud)

python side-effects mutable slice

46
推荐指数
4
解决办法
4999
查看次数

哪些JavaScript数组函数正在变异?

我在JavaScript中编写一个Array派生类,需要知道要重载哪些函数,这样我才能知道对数组所做的更改.

我知道Array.push()并且Array.splice()正在变异.是否有其他任何明确的清单?

javascript arrays mutable

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

为什么Matz默认在Ruby中选择使Strings变为可变?

这与此问题相反:为什么字符串在Java和.NET中不可变?

这种选择是否仅仅因为操作(追加等)在可变字符串上有效,或者是否有其他原因而在Ruby中进行?

(如果它只是效率,那似乎很奇怪,因为Ruby的设计似乎不会高度重视促进有效的实施.)

ruby string language-design mutable immutability

43
推荐指数
2
解决办法
6224
查看次数

NSArray @property由NSMutableArray支持

我已经定义了一个类,我希望公共属性看起来好像是由一个NSArray.这很简单,但在我的情况下,实际的支持ivar是NSMutableArray:

@interface Foo
{
    NSMutableArray* array;
}
@property (nonatomic, retain) NSArray* array;

@end
Run Code Online (Sandbox Code Playgroud)

在我的实现文件(*.m)我@synthesize的属性,但我立即遇到警告,因为使用self.words与尝试修改一样NSArray.

这样做的正确方法是什么?

谢谢!

objective-c mutable nsarray ios

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

为什么Scala中没有可变的TreeMap?

它是否缺乏时间,某些技术问题还是有理由不存在?

collections tree scala mutable map

38
推荐指数
3
解决办法
8623
查看次数

如何使任何视图绘制到画布?

我有一个简短的问题:

假设我有一个(可变的)位图,我需要修改(添加图像,文本等...).

我没有考虑使用许多特殊的类来绘制画布(画布,画布,矩阵等),而是考虑为什么不使用Android的内置类来完成这项任务,只有当我需要真正定制的操作时,我仍然可以使用画布?

因此,例如,为了在位图上显示任何类型的视图(当然没有父视图),我可以调用下一个函数:

public void drawViewToBitmap(Bitmap b, View v, Rect rect) {
    Canvas c = new Canvas(b);
    // <= use rect to let the view to draw only into this boundary inside the bitmap
    view.draw(c);
}
Run Code Online (Sandbox Code Playgroud)

这样的事情可能吗?也许这就是它在幕后工作的方式?

我应该在绘图和画布创作之间的部分写什么?


编辑:我已经尝试了下一个代码,但它没有工作:

public void drawFromViewToCanvas(final View view, final Rect rect, final Canvas canvas) {
    final int widthSpec = View.MeasureSpec.makeMeasureSpec(rect.width(), View.MeasureSpec.EXACTLY);
    final int heightSpec = View.MeasureSpec.makeMeasureSpec(rect.height(), View.MeasureSpec.EXACTLY);
    view.measure(widthSpec, heightSpec);
    // Lay the view out with the known dimensions
    view.layout(0, 0, rect.width(), rect.height());
    // …
Run Code Online (Sandbox Code Playgroud)

android bitmap mutable draw android-canvas

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

总是在C++ 11中声明std :: mutex是可变的吗?

在看了Herb Sutter的演讲" 你不知道const和mutable"之后,我想知道我是否应该总是将互斥量定义为可变的?如果是的话,我想同样适用于任何同步容器(例如tbb::concurrent_queue)?

一些背景:在他的演讲中,他说const == mutable == thread-safe,并且std::mutex每个定义都是线程安全的.

关于这个话题也有相关的问题,const在C++ 11中是否意味着线程安全.

编辑:

在这里,我发现了一个相关的问题(可能是重复的).不过,它在C++ 11之前被问过.也许这会产生影响.

c++ const mutable thread-safety c++11

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