問題タブ [enumerator]

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

c# - C# の IDL で定義されたメソッドの実際の名前を取得する

IDL を使用したプロジェクトがあり、Enumeration との定義されたインターフェイスがあります。ID = DISPID_NEWENUM のプロパティがあります (for-each などのサポート)。

これから、interop dll を生成します。リフレクションを使用してそのインターフェイスのすべてのメソッドを取得すると、このメソッドは GetEnumerator メソッドに置き換えられます。

メソッドの本当の名前(IDLで書かれている)をリフレクションでどうにか取得することはできますか?

助けてくれてありがとう。

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

scala - 大きなファイルの Play2 iteratee と列挙子のストリーミングが失敗する

重複の可能性:
クライアントへの Play2 フレームワーク プロキシ ストリーミング コンテンツは、ストリーミングが完了した後も接続を開いたままにします

Web サービスからクライアントに 11 MB のファイルをストリーミングしています。これは基本的にパススルー プロキシです。ここに私のコードがあります:

そして私はそれを呼びます:

遅いサービスの場合、これはうまく機能し、ファイル全体を取得します。高速なサービスの場合、ファイルのごく一部 (サイズは異なります) のみを取得し、残りの画像は切り取ります。画像がたとえば 11 MB の場合、.close() メソッドがストリームを強制終了する前に 2 MB しか取得できません。

Iteratee がすべてのデータを取得することは知っていますが (印刷すると表示されます)、Enumerator の .close() 呼び出しの実行が早すぎて、interatee が実行できるようになる前に列挙子を切断するようです。それを埋めます。

いくつかの質問を聞きたいんです:

  1. これはプロキシを実行する正しい方法ですか? 私は最初に従来の Java IO ストリームでこれを行いました。これは正常に機能しましたが、慣用的またはノンブロッキングではありませんでした

  2. これがこの問題を解決するための合理的な方法である場合、Enumerator.close() メソッドはどこに行くべきですか? .onRedeem には .orTimeout と同じ問題があります

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

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

ios - iOS で配列からオブジェクトを削除しようとすると NSGenericException が発生する

この問題を解決する方法の例を確認しましたが、まだ直面しています..

私のコードは

エラーは*** Terminating app due to uncaught exception 'NSGenericException', reason: '*** Collection <__NSArrayM: 0x6a97ba0> was mutated while being enumerated.'

obstacles更新:配列にオブジェクトが 1 つしかない場合、コードは機能します。複数のオブジェクトで失敗します..

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

objective-c - iOSプログラミングで列挙の各部分を取得するにはどうすればよいですか?

私は現在、iPhoneアプリの一部を作成して、基本的に既存のアップルのメモ帳のように機能するセルのリスト(テーブルビュー内)を作成しています。

セルの名前が配列内の文字列の名前になるようにしようとしています。これは私が現在行っていることです。

したがって、基本的にはNSUserDefaultsのキーからcameraArrayに文字列を作成しています(テスト目的でこれを行っているだけで、文字列は後でユーザーが入力します)

私が立ち往生しているのは、列挙子が配列をうまく通過することですが、tableViewのすべてのセルで最後の値(3番目の値)のみを使用します。

したがって、「最初」、「2番目」、「3番目」の3つの文字列がある場合、3つのセルすべてが「3番目」と表示されます。

これを修正するにはどうすればよいですか?

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

ruby - 列挙子`Array#each`の{block}は、常に配列値を変更できるとは限りませんか?

たぶんこれは簡単ですが...これを考えると:

..そして私はすべての「arr」値を「bad」に変更しようとしています

なぜこれが機能しないのですか?

回答によると、「v」はブロックのローカル変数(配列値の「コピー」)であり、私はそれを完全に理解しています(そして、以前は戸惑うことはありませんでした)が、

..配列要素がオブジェクトである場合、なぜそれが機能するのですか?

ここの「p」はまだここのブロックのローカルではありませんか?しかし、それは本当にオブジェクトに影響を与えます、どうしてですか?

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

c# - どうすればreturnステートメントは要素を返さないのですか?

二分探索木でノードの削除を練習していて、nullパターンを使用してnullリンク用の特別な型(NullNode)を作成したので、「null」型にいくつかの望ましい動作を追加できます。ノードタイプとヌルノードタイプの両方が、再帰メソッドを含む同じINodeインターフェイスを共有します。

INodeインターフェースには、PreOrder、InOrder、およびPostOrderトラバーサルによるIEnumerable再帰メソッドが含まれていますが、NullNodeが(yield returnステートメントを介して)要素を返すことは望ましくありません

私に何ができる?

不可能なif-conditionを使用して、メソッドにyield returnステートメントを配置できることは知っていますが、このソリューションは適切ではないと思います。より良いアプローチがあるはずです。

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

c# - クラスとオブジェクトの間で列挙子を使用する

オブジェクトに構造体の配列があります。クラス内の各構造体を表示できるように、foreach ループを使用して配列内のこれらの各構造体をクラスに渡したいと考えています。struct を渡すオブジェクトのコードは次のとおりです。

そして、私は以下を使用してクラスでこれらを回復しようとします:

これはうまくいきません。public GetEnumerator がないというエラーが表示されます。誰でもこれを理解するのを手伝ってもらえますか?

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

ruby - 無限の列挙子の巻き戻し

次のように列挙子を生成する関数があります。

現在の動作は非常に簡単です。

e.rewind列挙子を開始値にリセットしたいと思います。無限の列挙子を使用しながらそれを行うための良い方法はありますか?

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

c# - 静的IEnumerator

Array Wrapper を実装してオーバーヘッドを最小限に抑える方法は?

1 MyProviderInfosに選択するインターフェイス/タイプはどれですか?

2プライベート静的列挙子を使用するのは合理的ですか? いいえ、 答えから

3 MyProviderInfosはプロパティである必要があり、そのメンバーを変更から保護する方法は? メンバーの内部/プライベートSETTERS(同じ回答から)

ICollection、Readonly-Collection、List、IList、Array に関する SO 記事を調べてみましたが、シナリオに最適なものはまだ混乱しています。

  • 配列 MyProviderInfos はコンパイル時に形成され、実行時に変更されません (してはなりません)。
  • クラスは列挙可能 (配列 MyProviderInfos の要素を使用する必要があります) であり、カスタム リスト関数 (.Add .Remove) は必要ありません。
  • クラスには、配列を使用する静的関数があります。
  • インデックス作成をサポートするには、クラスは非静的である必要があります。

コード:

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

ruby - Rubyで列挙子を複製しますか?

横断しようとしている木があります。それをたどると、各列挙子がツリーの子を列挙するために使用される列挙子のスタックを保持します。

この列挙子のスタックを複製して別のオブジェクトに渡して、スタックの状態によって示される場所からツリーをトラバースできるようにしたいと考えています。

Enumerator で #dup を呼び出そうとすると、エラーが発生します。列挙子を複製することは可能ですか? そうでない場合、どうすれば同じことを達成できますか? (整数のスタックをインデックスとして考えましたが、効率が心配です。

ここに私が見ているものを示すためのいくつかのコードがあります...

最初の列挙子が開始されると、それを複製することはできません。それが私の状況です。