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

c# - C#にReverseEnumeratorがないのはなぜですか?

C# に逆列挙子を含めないという特定の理由または設計上の決定があったかどうかは誰にもわかりませんか? reverse_iteratorEnumerator が C++ に相当するのと同じように、 C++ に相当するものがあれば、とてもいいでしょうiterator。逆に反復できるコレクションは、 IReverseEnumerable のようなものを実装するだけで、次のようなことができます。

このようにして、一方にインデクサーを使用し、もう一方に前のリンクを使用するのではなく、リストと LinkedList を同じ方法で反復処理できるため、より優れた抽象化を実現できます。

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

c# - 引数としての列挙子

さて、この非常に単純なボタンクリック方法から始めましょう

すべてのアサーションが適切にパスするため、このメソッドは何もしません。冗長性を取り除く方法を導入する必要があると考えるまでは問題ありません

とはいえ、このリファクタリングは簡単です (少なくとも私にとっては)。それはプログラムを壊します!AssertNext への 2 回目の呼び出しでは、列挙子が既に開始点にリセットされ、アサーションが失敗したようです。

何が起こるか理解できません。私はこのパズルの初心者のように感じます。

ここで何が恋しいですか?

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

c# - キューを逆にする

拡張機能menthodReverse()を使用していますが、何も実行されていないようです。MSDNは、遅延実行として実装されていると述べていますが、これを機能させることができないようです。

これが私がそれを呼ぶ方法です。

これはMSDNが言うことです:

このメソッドは、遅延実行を使用して実装されます。即時戻り値は、アクションの実行に必要なすべての情報を格納するオブジェクトです。このメソッドで表されるクエリは、GetEnumeratorメソッドを直接呼び出すか、Visual C#のforeachまたはVisualBasicのForEachを使用して、オブジェクトが列挙されるまで実行されません。

GetEnumeratorを呼び出すと、それが何を意味するのかわかりません。私はそれを試してみましたが、無駄に次のことを行うだけです。

私はここでかなりばかげたことをしているような気がします、どんな助けもいただければ幸いです!

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

java - Java ループ終了条件

Java でネットワーク サーバーを作成していますが、小さな問題があります。コードに話させましょう:

さて、コメントで述べたように、変数 this.Listening の値を否定/反転/変更すると、ループは停止しませんが、次の接続で終了します。

最初はサーバーを列挙子に実装しませんでした。シリアル化後にシングルトンに失敗したクラスで実装しましたが、期待どおりに実行されました。while (condition) done と do while(condition) loop を試しました。

すべての助けをいただければ幸いです。

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

delphi - GetEnumeratorによって返された列挙子を解放する必要がありますか?

DelphiXE2のジェネリックコレクションに列挙子を使用したいと思います。GetEnumerator関数によって返されるTEnumeratorを誰が所有しているのか疑問に思っています(ドキュメントに明確な答えは見つかりませんでした)。

  • 私はそれを所有していて、使用後にそれを解放する必要がありますか?
  • それともコレクションが所有していて、リリースする必要はありませんか?

コード:

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

c# - 基本クラスのGetEnumeratorを使用するようにDataContractに指示するにはどうすればよいですか?

Dictionaryを実装する汎用クラスがあります。私は通常、キーを気にしないため、KeyValuePairsの代わりに値をループするカスタムGetEnumeratorを作成しました。簡単なサンプルを次に示します。

クラスにデータを追加しなかったため(メソッドのみを追加しました)、シリアル化できるようにするために、[DataMember]タグなしでクラスの先頭に[DataContract]を追加しました。これは、シリアル化/逆シリアル化に基本クラスのデータを使用するだけだと思いましたが、次のエラーが発生しました。

タイプ'Enumerator[System.String、SignalEngineeringTestPlanner.Asset]'のオブジェクトをタイプ'System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2にキャストできません

これは、DataContractSerializerが子の列挙子を呼び出しており、ペアを期待しているのにAssetオブジェクトを取得しているため、混乱していることを意味していると思います。(1)DataContractSerializerに基本クラスの列挙子を使用するように指示する方法、または(2)特別な列挙関数を作成してDataContractSerializerにその1つだけを使用するように指示する方法はありますか?

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

c# - コレクションが変更されました。列挙操作が実行されない場合があります

マルチスレッドアプリケーションがあり、このエラーが発生します

あるスレッドでコレクションを読み取り、別のスレッドでコレクションを変更するため、コレクションに問題がある可能性があります。

このコードでコレクションをロックしようとしていますが、機能しません。

その問題を解決するためのアイデアはありますか?

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

c# - IRecord から ICollection プロパティを取得するにはどうすればよいですか?

サンプルの ICollection を含む IRecord があります。ICollection は次のようになります。

次に、サンプルをレコードに追加します。

サンプルをレコードから取り出したいと思います。私がするとき、私はそれを知っています

正しく生成された名前を取得します。しかし、私がするとき

アイテムはありません。私は次のことをしたい:

では、record["Samples"] が ICollection を取得しないのはなぜでしょうか?

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

ruby-on-rails - Rubyで任意の関数の最大値を取得するには?

いくつかの機能を考えてみましょうfoo:

いくつかの配列の入力の最大値を取得する方法はa?

次のようなもの (これは機能しません) は 9 を返します。

どうやってするの?

ルビー1.9.2

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

regex - 正規表現のような基準による文字列生成

次の再考の要件を満たす最適な文字列ジェネレータ クラスを実装することが実現可能かどうか疑問に思います。


  • を使用した生成基準
  • 辞書順列挙。
  • プロパティを数える
  • 索引付けされたアクセス

正規表現に慣れていません。最初のコードを思いつくことはできませんが、TList を基本クラスとして使用する単純な実装を考え、「ブルート フォース」で生成された文字列に対してフィルター (正規表現) を使用します。

他の最適な選択肢は何ですか?


  • 順序: 最初に長さ (短い順)、次に辞書順。
  • 生成に使用される文字の範囲の指定: [AZ]、[az]、数字、特殊記号、および最終的にはスペース (regex ?) のすべての印刷可能または可能な組み合わせ。
  • 指定された最小/最大で制限された文字列の長さ。
  • 境界で制限された検索スペース: フィルタリングの可能性がある開始文字列と終了文字列 (正規表現 ?)

最終編集

まず、 regex の代わりにregex likeを使用してヘッダーを言い換えました。

最初の要件はオープン ドアであり、扱いにくい問題につながる可能性があるため、修正を検討しています。

正しい言葉遣いについての提案と助けが必要です。

考え直した要件の編集が完了しました。改良のための提案はまだ受け付けています。