問題タブ [side-effects]

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 投票する
2 に答える
123 参照

c++ - 抽象型オブジェクトとして渡されるオブジェクトの作成

ポリモーフィズムを使用するために、メモリフットプリントが異なるいくつかの具象クラスによって実装された抽象クラスがあります。

最初の具体的なクラス:

別の具体的なクラス:

私がやりたいのは、抽象型のオブジェクトを宣言し、それを関数のパラメーターとして渡して、具象型またはabstractFooのいずれかのオブジェクトとして作成することです。私は最初に通常の方法を使用し、パラメーターにポインターを渡します。concreteFoo1concreteFoo2

出力は次のとおりです。

問題はfoo、抽象型のオブジェクトとして初期化できないことconcreteFoo1です。この例のように、として初期化すると、メソッドfooを呼び出した後でも、ポインターはそれを指しますcreateFoo

それを機能させるために、私はパラメータのポインタにポインタを渡すように言われました:

出力:

このソリューションは機能しますが、あまり満足していません。抽象型へのポインタを作成できないため、使用しないオブジェクトを作成する必要があり、astractFoo* foo = new concreteFoo1()それに割り当てられたメモリが解放されることはありません。 、だから私はメモリリークで終わると思います。

AbstractFoo**オブジェクトを作成せずに、抽象型へのポインターへのポインターを作成する方法はありますか?

それで、ダブルポインターが私の問題の厳密な解決策であることを確認できますか?もしそうなら、私の2つの問題に答えることができますか?そうでない場合は、どうすればよいですか?

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

side-effects - 副作用と難解言語

この質問へのコメントでの議論の派生物として。副作用と難治性機能の関係についてお聞きしたいと思います。具体的には:

1)ook / brainfuckを使用してGPUにアクセスできますか(グラフィックスの副作用を引き起こしますか)?

2)空白を使用してシステムコールを発信できますか?

3)本質的には、チューリング完全言語を使用してすべての一般的な副作用を引き起こすことができますか?

4)ボーナス質問:可能であれば、実用的な例/コードへのリンクを提供できますか?

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

c++ - 副作用が効かない

ネットワークで使用するバッファ クラスを作成し、副作用を使用してバッファ ポインタとサイズを取得します。クラスの getptr() 関数と同じ動作を表示する簡単なテストを作成しました。

testrecv() 関数内から変数を表示すると、サイズはスタックに残されたランダムな値です。getbuf() の副作用のため、testrecv() のサイズを 100 にするべきではありませんか?

0 投票する
5 に答える
300 参照

python - Pythonで再帰と副作用を適切に使用する方法

ツリー構造で、枝のすべての葉を見つけようとしています。ここに私が書いたものがあります:

理由はわかりませんが、気分が悪いです。heads動作しますが、パラメーターを作成せずに再帰を使用するより良い方法があるかどうかを知りたいです。

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

haskell - applicative functor には副作用があるのに、functor にはできないのはなぜですか?

この質問をするのはばかげている気がしますが、しばらく頭に浮かんでいて、答えが見つかりません。

問題は、なぜアプリケーション ファンクターには副作用があるのに、ファンクターにはできないのかということです。

たぶん、彼らはできるのに、私は気づいていません...?

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

rest - REST API でスタックを作成するにはどうすればよいですか?

分散実行サーバーで作業しています。サーバーで HTTP ベースの REST API を使用することにしました。クライアントはサーバーに接続し、次に実行するタスクを取得します。明らかに、取得したタスクを「更新」して、一度だけ処理されるようにする必要があります。GET には副作用 (取得したリソースの状態の変更など) はありません。(リソースを更新するために) POST を使用することもできますが、リソースを取得する必要もあります。私は、POST がタスクを「要求済み」としてマークし、次に GET がタスクを取得済みとしてマークする URL を持つことができると考えています。残念ながら、再び GET に副作用があります。これは REST ではうまくいかないのでしょうか? 私はこれを行うための「関数」リソースを持っていても問題ありませんが、少し調査せずにパラダイムを放棄したくありません。

パット・オー

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

jquery - jqueryの静的ビットにクリップトグル効果を追加する方法

私はjqueryにかなり慣れていないので、私が持っているjqueryの静的ビットに「クリップ」スライドオープン効果を追加しようとしています。

これは私が求めている効果です...

http://www.tutorialspoint.com/cgi-bin/practice.cgi?file=jquery_142

これは私のコードです:

ここで実際にそれを見ることができます:

http://jsfiddle.net/greggb/8gfEZ/1/

これに関するヘルプは素晴らしいでしょう。私はたくさんのフォーラムを試しましたが、それを行う方法がわかりません。

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

python - ループ内の副作用はそのジェネレーターに影響しますか?

Python v2.7 では、ループの本体でジェネレーターのソースである項目に副作用がforあるジェネレーターに関するステートメントに出くわしました。forfor

私の質問は、オーバーラップへの副作用がforジェネレーターに影響を与えることになっているかどうかです。そうでないことを願っていますが、もしそうなら、それは正確にはどういう意味ですか? 最初に一致する要素を処理し、現在は を置き換えたoverlaps場合、forインデックスは の新しい値の次の場所になりoverlapsますか?

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

scala - 繰り返した後、 `Source.fromFile(...)。getLines()`が空になるのはなぜですか?

(line <-lines)がと​​ても壊滅的であることに私は非常に驚きました!ラインイテレータを完全に巻き戻します。したがって、次のスニペットを実行すると、サイズ=0になります。

このようなよく隠された副作用があるのは通常のScalaの習慣ですか?

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

rest - REST内のPUT操作のべき等要件の範囲は何ですか?

次のようにJSONにシリアル化するオブジェクトがあると想像してみましょう。

ここで、このオブジェクトを編集するhttp://absoluteTruth.foo/ {id}(PUT)URIがあると想像してください。次の内容を含むメッセージ本文で呼び出す場合:

(おそらく)他の2つの値を変更しようとする要求に直面した場合のべき等の要求は何ですか?一方では、上記のPUTリクエストにより、次のようにシリアル化されるオブジェクトが生成されるはずです。

そうすれば、他の誰かが何をしても、私のPUT操作は常に同じ出力になります。残念ながら、これにより、エンドユーザーは、GETを実行し、受信したデータを変更して、返送する必要があります。(Rich Hickeyは、さまざまなフィールドの更新を完了したことを警告する場合があります。)一方、次の結果になる可能性があることがわかります。

「Status」と「Looks」の値の変更は、「Name」パラメーターのみを指定して呼び出された場合のPUTの副作用には含まれないと言えます。ただし、その後のhttp://absolutetruth.foo/ {id}(PUT)の呼び出しから返される内容は、たとえば、誰かがMichael nee'Mikeの見た目をさらに高く評価するために立ち寄った場合、時々変わる可能性があります。

これはそうではないが、私は恐ろしい質問だと思うが、2616を含む私が読んださまざまなRFCは、その点で不明確である。{"Name": "Michael"}を使用したPUTtingは、他のすべての値を平坦化するのではなく、そのままにしておけば十分にべき等であると考える傾向があります。信頼できる情報源で決定的な答えを持っている人はいますか?