問題タブ [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 投票する
3 に答える
12619 参照

python - Python:fork、pipe、exec

Pythonアプリケーションでプログラムを実行したいのですが、バックグラウンドで実行されますが、最終的にはフォアグラウンドになります。

GUIはそれと対話するために使用されます。ただし、コントロールはstdinおよびstdoutのコンソールを介して提供されます。アプリケーションのGUIを使用して制御できるようにしたいので、最初のアイデアは次のとおりです。

  • フォーク
  • 親では、それらにアクセスするためにdup2stdinとstdout
  • 子を実行する

これはPythonで簡単に実装できますか?私が望むことを達成するための代替方法はありますか、それは何でしょうか?

0 投票する
2 に答える
1858 参照

ruby - ruby19でSTDIN、STDOUT、STDERRを置き換える方法

ruby18 では、フル コントロールのサブプロセスを取得するために次のことを行うことがありました。

これは ruby​​19 では機能しません。ruby19 では、STDIN、STDOUT、STDERR の close メソッドは、基になるファイル記述子を閉じません。ruby19でこれを行うにはどうすればよいですか。

0 投票する
1 に答える
1015 参照

c++ - Windows8 - _dup、_dup2

プログラムを実行するために win8 Consumer preview build 8250 を使用しています。これは win7 で正常に動作します。プログラムは次のマクロ/関数を使用します。

プログラムは次のことを実行します。

私がそれを実行するたびに、正しい「リダイレクトj」印刷のtmp乱数をファイルに出力します。その後、残りの実行ではファイルは空になります。(acquireOutputStreamでfポインターがNULLになることはありません)正しく。何が問題になる可能性がありますか?win8の既知の問題ですか?

0 投票する
6 に答える
92192 参照

ruby - Rubyのdupメソッドとcloneメソッドの違いは何ですか?

たとえば、Rubyのドキュメント:dup

一般に、cloneおよびdupは子孫クラスで異なるセマンティクスを持つ場合があります。内部状態をclone含むオブジェクトを複製するために使用されますが、dup通常は子孫オブジェクトのクラスを使用して新しいインスタンスを作成します。

しかし、いくつかのテストを行ったところ、実際には同じであることがわかりました。

では、2つの方法の違いは何ですか?

0 投票する
3 に答える
1521 参照

c - ファイル ポインタ/ディスクリプタの保存/複製

グローバル FILEポインター/ディスクリプターが必要です。関数の 1 つは、このポインター/記述子から読み取ります。ポインター/記述子に関連付けられた内部ポインターFILEが進みます。この関数が戻った後、同じポインター/記述子から読み取り、他の関数が読み取ったのと同じデータを読み取りたいと考えています。FILE

しかし、内部ポインターが進んでいるため、まったく同じデータを読み取ることはできません。複製はオリジナルを反映するため、記述子の複製は機能しません。読み取り前にポインターを保存してFILEも、それはポインターであるため機能せず、再び同じものを参照し始めます。

1 つの代替方法は、読み取り前に使用してファイル位置を保存し、次の読み取りの前にfgetpos()使用することです。fsetpos()

ただし、これは記述子ではなくファイルポインターに対して機能します。

通常のポインターを使用すると、とても簡単です。FILEしかし、ポインターを使用すると事態が難しくなります。

これを達成するための他の不器用な方法はありますか?

0 投票する
4 に答える
28866 参照

c - system() の出力をファイルにリダイレクトする方法は?

このCプログラムで は

system()の出力をファイルにリダイレクトしようとしています。そのため、 dup2を使用しましたが、機能していません。

このコードの何が問題になっていますか? そして、これを行うためのより良い方法
があれば教えてください。(端末で使用せずに)>

0 投票する
2 に答える
1916 参照

ruby-on-rails - 関連付けとクリップの添付ファイルを使用して Rails オブジェクトを複製する

いくつかの関連付けを持つオブジェクトがあります。これらの関連付けられたオブジェクトの一部には、S3 に保存されているクリップの添付ファイルがあります。オブジェクトと関連付けを複製すると正常に動作しますが、添付ファイルは複製されません。

これは、画像を取得せずに機能します。

次のような画像リンクを取得しようとしました:

しかし、おそらくすべての画像が設定されているわけではないため、「nilを文字列に変換できません」というエラーが表示されます。

0 投票する
1 に答える
531 参照

perl - perl パイプラインから「less」を実行する

シェルとほぼ同じ方法で、Perl から任意のパイプラインをセットアップしようとしています。

これには望ましい効果があります。「echo foo | sed s/oo/ar/」のようになります。

ただし、2 番目の引数を「less」にすると、端末が点滅し、ページャーに出力が表示されません。短い閃光を除けば、走る気配がまったくない。

今、私がまったく得られないのは、次のものが「echo foo | less」のように動作することです。

しかし、pipe() の呼び出しが何をしているのかまったくわかりません。最初の引数は「リーダー」で、2 番目の引数は「ライター」です。STDINはどのように「ライター」ですか?

私はこれらすべてに非常に困惑しており、根底にある Unix API について何か基本的なことが欠けているか忘れているのではないかと考えています。

0 投票する
2 に答える
3836 参照

ruby - いつdupを使用し、いつRubyでクローンを使用するのですか?

Ruby の dup メソッドと clone メソッドの違いは何ですか? dupは、との動作の違いについて説明していcloneます。しかし、いつ使用するdup必要があり、clone代わりにいつ使用する必要がありますか?

clone ではなく dup を使用した理由、またはその逆を使用した理由を説明する実際のプロジェクトの例は、この質問に理想的です。

または、2 つの異なる方法が存在する理由の説明が役立ちます。これは、Ruby の作成者からのステートメント、または Ruby に影響を与えた言語のdupやのようなメソッドの調査を参照することができます。clone

0 投票する
1 に答える
2716 参照

ruby - インスタンスに複製/クローンを提供するためにRubyクラスで定義するメソッドはどれですか?

classのオブジェクトを指すPointer単一の attribute を持つクラスがあります。:contentsMyObject

Pointer自分自身のコピーを作成できるようにしたい。#dupメソッドはデフォルトで定義されていることを知っていますが、#cloneメソッドはオーバーライドしてディープコピーを作成できると予想されます。しかし、ここでは、コピーが深すぎる必要はありません。だから、私が持っている最初のジレンマは、私#dupの追加の状態を本当にコピーしたくないので、メソッドをオーバーライドする必要があるので、同じインスタンスPointerを指す新しい状態を作成するだけですか? または、「想定」されていないためMyObject、 overridine を控えて、浅いコピーを作成するメソッドでオーバーライドする必要がありますか?#dup#clone

上記のコメントを歓迎しますが、オーバーライドすることを選択するとしましょう#dup。私はこれを行うことができます:

しかし、オンラインで、「dupメソッドはinitialize copyメソッドを呼び出す」のようなものを読みました。また、この人はRuby#initialize_cloneで ,#initialize_dupとについて書いています。#initialize_copyベストプラクティスはおそらくこのようなものでしょうか?

それともこんな感じ?

それとも、初心者を混乱させるために書かれたオンラインの暴言を忘れて、#dup心配せずにオーバーライドする必要がありますか?

#dupまた、 custom を定義せずに呼び出すことができることは理解していますが、別の動作で定義したい場合は#dupどうすればよいでしょうか?#dup

また、同じ質問が適用されます#clone-定義しようとする必要があります#initialize_clone#clone?