1
11
这个问题有很多问题。最重要的是
赋值从不在Ruby中生成副本,但方法通常返回新对象,而不是修改现有对象。
. 对于像fixnums这样的不可变对象,可以忽略它,但是对于数组或foo实例这样的对象,要制作副本,必须执行以下操作
对于数组示例,
|
2
3
我不知道Ruby如何在内部处理其他事情,但您可以尝试使用
|
3
2
你从不处理复印件。它在内存中是同一个对象,但是您只声明了对它的两个引用:在第一个示例中:bar和beans指向内存中的同一个对象;在第二个示例中:foo和baz最初指向内存中的同一数组。 查看2个图片/图片,在Java教程页面中解释机制(它与Ruby相同)和2个图片,比任何解释都要值钱: http://docs.oracle.com/javase/tutorial/java/javaOO/objectcreation.html |
4
0
basicly ruby使用的是引用指针,所以当您更改一个对象时,另一个对象也会受到影响。 |
Rational Redneck · Java结构化方法链接 2 年前 |
xFlame · 如何在Rect中更新object onClick? 2 年前 |
Hermes · 如何在JavaScript中动态创建对象列表? 2 年前 |
philale · Javascript对象从最低级别获取属性 2 年前 |
CinemaClub · 如何从数组值创建具有相同名称的OBJ属性? 2 年前 |
Bonnie Zou · 如何在python中返回类中调用的列表 2 年前 |