问题标签 [object-identity]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
537 浏览

python - Python 何时为空列表创建新的列表对象?

以下对我来说很有意义:

鉴于列表是可变的,我希望[]每次它出现在表达式中时都是一个新的空列表对象。然而,使用这种解释,以下内容让我感到惊讶:

为什么?解释是什么?

0 投票
3 回答
145 浏览

java - Java 中的 == 运算符

以下在 Java 中是正确的

为什么?这两个Strings是两个不同的对象,它们不应该具有相同的对象标识吗?

0 投票
1 回答
5333 浏览

python - 在 Python (2.7) 中,为什么 os.remove 与 os.unlink 不一样?

这是为什么?os.unlink 不应该是 os.remove 的别名吗?

0 投票
1 回答
74 浏览

selenium - Selenium 对象识别问题

我有一个包含 2 个值的组合框(比如 Xreg 和 MBA)。默认情况下,将根据搜索条件仅显示一个值(Xreg 或 MBA)。Xreg 的 xpath 为

和MBA

如何在页面加载时捕获默认值。它可能是它们中的任何一个,并且每次我想捕获组合框中默认显示的值时

0 投票
1 回答
144 浏览

javascript - 在数组上使用 QUnit.deepEqual() 时使用对象标识

情况如下:我想测试我的一个函数,它返回一个对象数组。这些对象没有可枚举的属性,而是取自一个公共缓存/存储。

在我的测试用例中,我现在想测试返回数组的内容是否正确。所以我假设,这deepEqual()将是要使用的函数,但测试实际上返回了这个(减少了一点测试用例):

小提琴的测试用例

(我也测试过propEqual(),如果那个工作在这里。)

所以 QUnit 将这两个对象识别为不同的(参见第一个测试),但在我使用数组时无法识别差异。

所以我玩了一点,一旦我的对象上有一个可枚举的属性,两个实例不同,QUnit就会识别它:Changed Fiddle

有趣的是,如果使用以下方法将可枚举属性设置为相同的值:

我看到与没有属性(小提琴)相同的行为。

所以,考虑到上面的例子,

如何强制 QUnit 按身份比较两个对象以检查数组的内容?

根据与@Ilya 的讨论,这里对实际问题进行了改写:

我怎样才能deepEqual()只使用一个级别 - 意思是,给定数组的所有元素都应该通过对象标识进行比较?

PS:我知道天真的解决方案是逐个元素比较数组中的元素,但我认为应该有更快的方法。

0 投票
3 回答
1583 浏览

ruby - 为什么像 String#replace 这样的 Ruby 方法会改变变量的副本?

所以首先我只是学习 Ruby 并且来自 JavaScript 背景。我有一个找不到答案的问题。我有这个例子:

蓝色的

我的问题是:为什么会这样?我知道设置b = a使它们成为相同的 object_id,因此从技术上讲,同一个变量字符串有两个名称。但我从来没有看到使用这种递归值更改的理由。如果我设置b = a它是因为我想操纵a的值而不改变它。

此外,有时一个方法似乎会修改a,但有时它会导致 "b" 成为一个新对象。这似乎模棱两可,毫无意义。

我什么时候会用这个?重点是什么?这是否意味着我不能将 a 的值传递给另一个变量,而没有任何更改传播回a

0 投票
1 回答
137 浏览

python - 用于忽略python中对象名称中的第一组字母或单词的正则表达式

“ :NYSE Con​​nect_LCAppendedButton ”是我们应用程序中不断变化的对象名称。_LCAppendedButton 之前的单词集根据我们的应用程序需要不断变化。我们如何忽略“NYSE Con​​nect”这组词或用正则表达式替换?请帮忙

0 投票
2 回答
5775 浏览

python - 创建 HDF5 数据集时出现“ValueError: Not a location id (Invalid object id)”

我有一个大小为(3997,29)的numpy数组(arr)。我正在使用这个数组来创建一个数据集。该数组具有整数和浮点变量。所以 dtype 是参考。但是当我执行它时,我得到以下错误。

“ValueError:不是位置 ID(无效的对象 ID)”

错误发生在最后一行。以下是回溯消息
dset = f.create_dataset('Init' ,arrshape, dtype = ref_dtype , data= arr)

文件“C:\Users\rupesh.n\AppData\Local\Continuum\anaconda3\lib\site-packages\h5py_hl\group.py”,第 108 行,在 create_dataset dsid = dataset.make_new_dset(self, shape, dtype, data , **kwds)

文件“C:\Users\rupesh.n\AppData\Local\Continuum\anaconda3\lib\site-packages\h5py_hl\dataset.py”,第 137 行,在 make_new_dset dset_id = h5d.create(parent.id, None, tid , sid, dcpl=dcpl)

文件“h5py_objects.pyx”,第 54 行,在 h5py._objects.with_phil.wrapper

文件“h5py_objects.pyx”,第 55 行,在 h5py._objects.with_phil.wrapper 中

文件“h5py\h5d.pyx”,第 79 行,在 h5py.h5d.create

ValueError: Not a location id (Invalid object id)

0 投票
0 回答
54 浏览

java - JPA 存储库对象身份

findOne()当使用具有相同值的两个不同对象加载实体两次时,将返回。

我本来希望使用 Identity map保留对象身份。

有什么理由为什么不是这种情况,或者有办法影响吗?

顺便说一句,我将 Spring JPA 存储库与 eclipselink 一起使用,但我在 hibernate 中看到了同样的情况。

0 投票
2 回答
595 浏览

python - 错误:参数 -s/--source 是必需的

我从 Github 复制了这段代码,但它对我不起作用。

示例代码:

这个输出

请帮我。谢谢