问题标签 [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.

0 投票
1 回答
77 浏览

ruby-on-rails - 如何在 Rails 中克隆记录及其关系?

我有一个带有og_objects,的应用程序og_actions,并且stories 我创建了一种方法来创建该应用程序的克隆。

我现在正在尝试将og_objects,og_actions和复制stories到克隆中,但我被卡住了。

我被困在两个地方。
1. 当我创建一个克隆时,对象、动作、故事被移动到新的克隆中,但它们没有被复制,这意味着父应用程序会丢失它们。
2. 我得到一个错误,我的新克隆没有 og_objects 属性。具体错误是:

这是我的代码:

在我的控制器中,我有一个生成器,并且我有以下代码:

0 投票
1 回答
53 浏览

linux - 使 STDOUT_FILENO 成为新的文件处理程序

我对使用“/home/hel/myfile”执行文件感到困惑。如果 fd 是“/home/hel/myfile”的文件处理程序,这是否完全等同于 dup2(fd, STDOUT_FILENO)?至于内核,它们的工作方式是否相同?

0 投票
1 回答
265 浏览

sorting - 如何按属性对对象进行排序?

我现在面临这个问题一段时间了,请调查一下。

object.inspect 给了我这个输出

raise object.to_yaml 给出这个输出

我想按 created_at 值订购,我在做这件事时得到的值raise object.to_yaml怎么做?

0 投票
1 回答
97 浏览

ruby - 在 ruby​​ 中设置属性的对象的副本

是否可以在 Ruby 中返回具有属性集的对象的创建副本?

当然,可以定义一个方法来做到这一点 -

但这对每个属性都可能有点乏味。

0 投票
1 回答
194 浏览

ruby - deep_clone gem 不复制 created_at

我正在复制一个 rails 对象,除了created_at对象的值之外,它的所有细节都可以很好地复制。我正在使用 deep_clone gem 进行深度复制。

这是代码。我想要 raw_materials 和 costing_items 的 created_at 值。

0 投票
1 回答
4537 浏览

c - UNIX 中的 pipe 和 dup 函数

从下面编写的代码中,我有一个可疑点。

这段代码解释了如何处理 dup 函数。

如您所见,如果 pid 等于 0(这意味着子进程正在进行中),则关闭管道的读取部分并关闭 stdout 文件描述符。(关闭(pdf [0]),关闭(1))。

我可以理解标准输出 fd 应该关闭,因为管道的写入部分(pdf[1])应该位于以前的标准输出位置。(重复(pdf [1]))

但是,我不明白为什么读取管道的一部分 (close(pdf[0])写入管道的一部分应该关闭 (close(pfd[1]))

即使管道是双向的,我认为没有必要声明关闭管道的其他不使用部分。

特别是 close(pdf[1]) <- 这部分,如果没有输出流(因为 stdout 和 pdf[1](管道的写入部分)在执行 execlp 函数之前已关闭),那么 execlp 函数的输出到哪里去了?

0 投票
1 回答
913 浏览

c - execve 和管道问题 - 如何恢复原始管道?

我一直在制作执行管道的简单外壳。

这是一些用于操作管道语法的代码。

pr_words 和 af_words 是包含命令、管道右侧和左侧的二维指针。(例如 ls | cat -> pr_words = "ls\0" ,af_words = "cat\0")

而且,首先我使用 fork() 创建子进程并将 fd[1] 注册为标准输出。(并在关闭标准输入之前保存标准输入文件描述符)并在执行命令左侧之后,使其他子进程用于处理命令右侧。

同样,我在关闭标准输出之前保存了标准输出文件描述符并制作了 fd[0] 标准输入。通过使用 execve 函数的第一个结果的输入,我认为每个结果都将保存在 fd[1] 中。(因为这目前已注册为标准输出)。

最后,将管道输入和输出恢复为标准输出。(我不想使用 dup2 但由于我缺乏知识我别无选择)

但是,在执行此代码后,我输入了 'ls | cat',没有输出。此外,我设置终端的每个条目都将打印'#'。(这意味着'#ls'或'#cat'......)但是,在输入上述管道命令后,该程序甚至不打印'#'。

我猜这个程序的输入和输出流在处理完管道命令后完全扭曲了。

我该如何解决?我的意思是,我想将第一个 execve 的结果保存到 fd[1] 中,并在使用这个 fd[1] 执行第二个 execve 之后,将通过 stdout 文件描述打印最终结果。

0 投票
1 回答
266 浏览

c - Xterm 寻呼机 - 两个终端输出 - 使用管道和 dup2

我正在尝试在 C 中实现寻呼机,我希望代码打开另一个终端(xterm)并在其中打印一些输出。

所以我首先创建一个管道并fork主程序,子程序将使用tail命令执行xterm,主程序将输出管道中的内容,子程序在执行xterm之前将重复关联管道与标准输入文件描述符孩子。

我可能误解了 and 的用法,pipe因为dup2我的代码不起作用。

现在,我在父项中输入了一些内容,并且在这两个过程中都没有打印任何内容。那么如何在 xterm 和父进程之间建立通信呢?

编辑:我的程序示例:

主要是:

紧接着数次来电verbose。您可以在init_outputxterm创建 xterm 之后在 tentavie 中看到在 xterm 中写入,就像在解决方案中一样。但是只有在我通过残酷地关闭主终端退出程序后才显示所有内容,使子进程成为孤儿(如果我与Ctrl-C孩子一起退出也会被杀死)。

0 投票
1 回答
857 浏览

c - 相同位置的重复文件指针

大家好,我有这个代码:

它适用于这样的文件:

主文件指针 ( FILE *fp) 在main().

如果我找到标签,我的想法是复制文件指针fp(在原型中传递),<item ...>因为如果这个标签链接到我想要删除的服务的名称,我必须替换整个<item ...>字符串.

但是,我有一个问题......当我执行snprintf()andfputs()时,文件在文件的开头被覆盖,因为,恕我直言,我认为文件指针不是重复的。

有办法或解决方法来修复/解决这个问题吗?

先感谢您!

0 投票
1 回答
159 浏览

c - 从 fifo 标准输出打印到屏幕失败

我有一个程序,它有 2 个孩子(通过 execl 运行 2 个进程)和一个 fifo。我不能使用 printf,我希望两个孩子都可以从 fifo 读写。问题是,我只希望第一个孩子确保他写入我的 FIFO 的所有内容都将打印到屏幕上。“fifoCommunication”是父亲创建的fifo的名称。这里仅是第一个子进程中的代码:

我知道这不是正确的语法,但我不知道如何确保消息正确打印到屏幕上,并且还阻止其他孩子将消息打印到屏幕上,只打印到 FIFO。