问题标签 [dup]
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.
ruby - 如何理解#dup 和#clone 对引用其他对象的对象进行操作?
我不确定在和的文档中“......但不是他们引用的对象”的含义。ruby
rubinus
在ruby-doc中,有解释#clone
和#dup
行为说:
产生 obj 的浅拷贝——拷贝 obj 的实例变量,但不拷贝它们引用的对象。复制 obj 的冻结和污染状态。另请参阅 Object#dup 下的讨论。
在Rubinius的实现中重复相同的内容:
复制实例变量,但不递归复制它们引用的对象。复制污点。
我尝试使用以下代码,但行为出乎我的意料。
c - dup 返回值始终为零
我想知道为什么dup总是在以下代码中返回零(在其中打开文件,而不是 10 dup 连续完成):
当我运行程序时(在 linux 2.6.32-279.19.1.el6.i686、Netbsd 或 Solaris 5.9 上),我得到以下结果:
dup 的返回值总是“0”?!
尽管手册页声明返回值应该是文件描述符:
返回值 成功时,这些系统调用返回新的描述符。出错时,返回 -1,并适当设置 errno。
我不明白为什么我总是得到“0”,因为我知道我没有使用关闭操作。
请帮忙。
ruby - Cant find element in clone document
I am using Nokogiri (1.5.9 - java) in JRuby ( 1.6.7.2 ) to copy an XML template and edit it. I'm having problems finding elements in the cloned document.
When print to_s
or to_xml
, so lblock
there is with new_children
.
Where is my mistake?
c - dup 返回错误(linux 中的 c 编程)
我正在尝试创建一个简单的程序来模拟终端中的“ls -l | tail -n 2”调用。为此,我正在使用“fork”和“execvp”。好吧,这里是代码:
我收到这些错误:
在我看来,同步存在问题。事实上,如果我声明: com2[] = {"ls", "-l",NULL}; 它工作正常(我的意思是在普通外壳中)。此外,我发现第二个“fork”中的第二个“dup”返回错误。这是为什么?我不知道这段代码的问题在哪里。请帮忙!
编辑:我添加了这段代码(忘记创建管道):
谢谢,没用!
ruby - Ruby hash.delete(:key) 也删除副本和克隆
据我了解,当您将 object = 设置为另一个时,它将始终是一个引用,因此我们有类似.dup
and的方法.clone
来实际创建对象的副本而不是引用。
但是,我正在复制或克隆一个哈希数组,然后当我从原始哈希中删除一个键时,它们将从副本中删除!这不应该发生,我想知道我做错了什么。
代码:
密钥也将从中:position
删除new_hash
!
无论我使用.dup
还是,都会发生这种情况.clone
。
我刚刚读到一篇文章说应该使用:
这确实有效。但为什么?因为.dup
并且.clone
做“浅拷贝”意味着他们将创建一个引用:tracks
(在这个例子中)而不是一个副本,因为它是一个包含在哈希中的哈希数组?
c - 打开描述符和关闭,为什么重要?
我有以下代码打印到屏幕上:哈哈到文件:
如果我删除第 6 行和第 7 行,我会得到不同的结果,为什么?
dup - 理解系统调用 dup()?
想知道当我做 dup() 时全局文件表和 inode 表会发生什么
我知道它返回一个 int,并在文件描述符表中打开一个新的文件描述符
c++ - C++ - How to fully wrap a subprocess
My goal is to:
Pipe stdin to stdin of child process.
Pipe stdout of child process to stdout.
Pipe stderr of chile process to stderr.
I have looked at these:
http://www.jukie.net/bart/blog/popenRWE
and
http://jineshkj.wordpress.com/2006/12/22/how-to-capture-stdin-stdout-and-stderr-of-child-program/
but am having trouble doing what I listed.
ruby-on-rails - Rails Dup:重新映射关联
我正在使用“dup”克隆一个活动记录模型(称为项目)。它有几个协会;一个项目有很多步骤,步骤有很多图像和视频等。
我发现当我克隆一个项目时,它成功地创建了项目相应步骤、图像和视频的克隆。但是,图像和视频仍然具有原始步骤的 step_id,而不是新创建的步骤。有没有一种简单的方法可以将 ID 加入到新创建的记录中?
我正在使用 deep_cloneable gem。
这就是我创建克隆的方式:
ruby-on-rails - 迁移 Rails 3.2 → 4.0 后 dup 方法不起作用
在遵循Rails 4.0 补充之后,我进入了一些特定问题部分,迈克尔提到
Micropost 规范 (
spec/models/micropost_spec.rb
) 中的一个微小变化是从dup
方法(复制用户的用户微帖子)到to_a
方法(将它们转换为数组)的变化。这是带有的版本dup
:
导轨 3.2
导轨 4.0
他自己说他并不完全理解改变方法的必要性:
由于我不清楚的原因,对
dup
Rails 4.0 的调用不再有效,但将其替换为to_a
工作正常。
那么为什么不再dup
工作了呢?