問題タブ [yield-keyword]

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 に答える
5235 参照

javascript - Chrome ブラウザーをサポートするジェネレーター ベースの Javascript コルーチン ライブラリ

Javascript ジェネレーターは実際のコルーチンではないため、あまり役に立ちません。したがって、ecmascript 6 の新しいキーワード「yield」を使用して、ブラウザーでコルーチンを実行したいと考えています。つまり、コールスタック内の複数のフレームにわたって譲歩できることを願っています。

私の知る限り、Firefox で Javascript 1.7+に基づくコルーチン ライブラリを見つけました。

「yield」は、Chrome ブラウザで長い間サポートされてきました。Javascriptジェネレーターを使用してChromeブラウザーをサポートするコルーチン実装があるのだろうか。

ありがとうございました!

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

python - Python ジェネレーター送信: 送信後に新しい値を生成しない

ちょっと変な質問なので、説明します。

IRCサーバーへのジェネレーターフロントエンドとして機能する、次のようなジェネレーターがあります。

これにより、理論的には、次のようなクールなことができるはずです。

ただし、ヒッチがあります。generator.send 次の値も生成されます。これはserver.send、次のメッセージも提供していることを意味します...これは、他のすべてのメッセージと同様に処理したいと思いますline

送信を受信した後にジャンク値を生成するだけで、これを醜い方法で修正できることはわかっていますが、コードをエレガントに保とうとしていますが、それは逆です。まだ新しい値が必要ないことをジェネレーターに伝える方法はありますか?

ありがとう。

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

javascript - 発電機の降伏値の差

次のジェネレータ関数があるとしましょう。

そして、上記のジェネレーターを生成するジェネレーターがさらに 2 つあります。

の違いを知っている人はいますかyield gen1 yield *gen1*ジェネレーターに何をしますか?

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

c# - C# の YIELD キーワードを理解する

IEnumerable インターフェイスについて読んでいるときに、これら 2 つのコード スニペットに出会いました。それらの正確な違いを簡単な言葉で理解したいと思います。

スニペット 1 : 利回りなし、

スニペット 2: 利回りあり

どちらのスニペットも同じ働きをします。では、ここで YIELD を使用することの具体的な理由は何でしょうか?

前もって感謝します :)

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

python - Python でジェネレーターがどのように機能するか

私はPythonとプログラミングの初心者です。ジェネレーターは少し複雑すぎて、新しいプログラマーには理解できません。Python のジェネレーター関数に関する私の理論は次のとおりです。

  1. ステートメントを含むすべての関数はyield、ジェネレーター オブジェクトを返します

  2. ジェネレーターオブジェクトは、状態を含むスタックです

  3. メソッドを呼び出すたびに.next、Python は関数の状態を抽出し、別の yield ステートメントを見つけると、状態を再度バインドして前の状態を削除します。

例:

もちろん、これは地球上で最もばかげた理論のようなものかもしれませんが、私はコーディング ワードの初心者であることを許してください。

私の質問:

  1. 状態を保存するためにPythonが内部的に作成するものは何ですか?

  2. yieldスタックが存在する場合、ステートメントはスタックに状態を追加しますか?

  3. 内部的にどのような利回りが作成されますか? yield がジェネレーターオブジェクトを作成することは理解していますが、それらを機能させるジェネレーターオブジェクトには何が含まれているのでしょうか? それらは単なる状態のスタック/リスト.nextですか?メソッドを使用して各状態を抽出すると、Python はインデックス付きの状態で関数を自動的に呼び出しますか?

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

scala - なぜ yield が scala の while ループで動作しないのか

Scala では、yieldfor ループを使用できます。例えば:

yieldしかし、次のような while ループでは動作しないことがわかりました。

なぜ Scala はこのように設計されているのでしょうか?

Google と stackoverflow で検索しましたが、答えが見つかりませんでした。

0 投票する
0 に答える
38 参照

python - python:Pythonでのイテラブルとジェネレーターとyieldの違いは?

キーワードを使用する次の問題を解決しているときに、これらの用語iterablesgeneratoryieldに出くわしました。yield

質問:指定された範囲 0 から n の間で、7 で割り切れる数値を反復処理できるジェネレーターを持つクラスを定義します。

解決:

ここで が使用される理由がわかりませんでしyieldた。私も理解するためにこのソースを調べました。

iterables と generators の両方のコードが同じ出力を与えるため、もう1つ質問します。

イテラブルのコード:

ジェネレーターのコード:

では、意味は何ですか?

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

node.js - 生成可能なノード モジュール/オブジェクトの作成

別のモジュール/アプリケーションによるロード時に、公開された関数のいずれかを呼び出す前に、その構成内のものを実行およびロードできるようにする必要がある Node モジュール (ハーモニーを使用) を作成しようとしています。

yield私が抱えている問題は、を使用して実行されている内部関数に見えないことですmodule.exports。例が役立ちます。

もう何時間も私を困惑させています!解決策は非常に単純だと思いますが、頭を抱えているようには見えません。Tester() 関数を単純にエクスポートしようとしましたが、まだ同じ問題が発生しています。yieldなぜ私は Tester() 関数に見えないのですか?

また、このアプローチに代わるものは何ですか?上記の例のs_id変数/オブジェクトなど、モジュールをさまざまな入力でロードできるように、モジュールのオブジェクトの性質を維持したいと考えています。