問題タブ [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.
c# - C#-更新可能な列挙子を作成する方法は?
私はC#(PHPから来ています)に少し慣れていません。リストをループすることによって、そのvarialbeへの参照を渡すことができない、つまり次のコードが無効であることに少しショックを受けました。
少し調べてみたところ、「更新可能な列挙子」を作成するという提案が見つかりましたが、それをどの程度正確に行うべきかわかりません。例に従って、IEnumerator.Currentメソッドとカスタム列挙子(PeopleEnum.Current)の両方にCurrentのセッターを追加しようとしましたが、正直なところ、それは盲目的な推測であり、機能しませんでした。ここに貼り付けるのはかなり長いので、コード全体をpastebinに貼り付けています-カスタム列挙子の試行。このコードでは、次の方法で現在の要素にアクセスしようとしています
「プロパティまたはインデクサーがoutまたはrefパラメーターとして渡されない可能性があります」という予期されるエラーが発生します
私が最終的に目指しているのは、次のようなものです。オブジェクトのリストを繰り返し処理し、各オブジェクトのボタンを生成し、そのボタンのonclickイベントを追加して、新しいフォームを開き、そのオブジェクトの参照を渡します。 、その内容をその新しい形式で編集できるようにします。私はこれをすべて行いましたが、読み取り専用データではなく、参照としてオブジェクトを渡すと、私は死にます。更新可能な列挙子やアイデアについて読むことができる回答、リンクをいただければ幸いです。
haskell - where句に型注釈
別のタイプをフィードするとData.Enumerator.List.map
互換Iteratee
性のあるものと同様の関数を作成しました。Enumerator
Stream
import Data.Enumerator
の型署名を省略した場合go
、これは問題なく機能します。しかし、それを含めたいのですが、正しい署名がどうあるべきかを判断できません。これが私がそうあるべきだと思うものです:
go :: Monad m => Step ai m b -> Iteratee ao m b
しかし、それは機能しません。
の正しい型アノテーションを見つけるためのアドバイスが必要ですgo
。
arrays - Ruby:イテレータを操作しますか?
単一方向の、遅延評価された、潜在的に無限のイテレータの作成に関して、Rubyで歯が生える問題があります。基本的に、私はHaskellリストと、程度は少ないがPythonジェネレーターを使用するのと同じようにRubyを使用しようとしています。
私がそれら自体を理解していないということではありません。他の言語のように気軽に使用する方法がわからないだけでなく、Rubyのどのメソッドがそれらを背後の配列に変換し、シーケンス全体を不必要にメモリにアンロードするかについてもわかりません。
そして、はい、私はRubyリファレンスマニュアルを勉強してきました。実際には30分、注意深く。または、おそらくそうではありません。
たとえば、カードデッキを実装すると、Pythonでは次のようになります(テストされていません)。
では、配列を完全に避けて、Rubyでこれをどのように行うのでしょうか?上記のコードは、私の知る限り、タプルとジェネレーターのみを使用していることに注意してください。配列を使用した場合のように、シーケンス全体がメモリにダンプされることはありません。私は上記のコードについて間違っている可能性がありますが、あなたは私が望むものを手に入れます。
イテレータをチェーンするにはどうすればよいですか(Pythonのchain()など)?無限の範囲のイテレータ(Pythonのcount()など)を生成するにはどうすればよいですか?プロセスですべてを配列に変換せずに、配列をイテレータに追加するにはどうすればよいですか(Pythonのchain()にタプルを渡すなど)。
私は解決策を見てきましたが、それらはアレイまたはファイバーのような不必要な複雑さを含みます。
Pythonでは、配列と同じ単純さでイテレータを操作およびスローできます。私はそれらをHaskellリストのように扱うことができます。これは私が最も快適であり、コーディング時に実際に考えていることです。私はRuby配列に慣れていないので、その代替案について助けを求めています。
私はそれについてインターネット上で情報の塊を拾うことができましたが、Rubyでそのようなデータ構造の基本的な操作をカバーするものを見つけることができませんでしたか?何か助けはありますか?
objective-c - NSDirectoryEnumerator を使用してファイルシステムをモデル化する
特定の開始パスからファイルシステムの構造をモデル化しようとしています。目標はNSOutlineView
、そのパス以降のファイルシステムの標準を作成することです。
というモデル オブジェクトがありますfileSystemItem
。次の (非常に標準的な) 関係とプロパティがあります。
parentItem
fileSystemItem
(別のオブジェクト を指します)isLeaf
(YES
ファイルの場合NO
、フォルダーの場合)childrenItems
(その他の配列fileSystemItems
)fullPath
(NSString
; オブジェクトのファイルパス)
私の質問はNSDirectoryEnumerator
、モデルを構築するためにどのように使用するのですか? 私がこれを行う場合:
各アイテムを参照する再帰関数を記述し、startingPath
そのアイテムがフォルダーの場合は、そのフォルダーで自分自身を再度呼び出すなどして、モデルを構築する方法を確認できます。しかし、どうすればモデルを構築できNSDirectoryEnumerator
ますか? つまり、おそらくそれがクラスが存在する理由ですよね?
ruby - Range のカスタム イテレータを作成する方法
次のようなことができるように、1 以外のステップ サイズを指定するために Range のサブクラスを作成したいと思います。
実装での私の最初の試みはうまくいきません:
RangeWithStepSize#each が有効な列挙子を返しているように見えますが、列挙されません。理由はありますか?
<aside>
これは関連している可能性がありますが、ドキュメントで指定されているように、ブロックのない Range#step は列挙子を返さないことに気付きました。代わりに配列を返します。
配列は列挙可能ですが、列挙子ではありません。これはドキュメントのバグですか?</aside>
説明
ステップ サイズをカプセル化する Range のバージョンを作成したいので、次のようにします。
...したがって、a を列挙すると 0.5 のステップ サイズが生成され、b は 0.25 が生成されます。
loops - 列挙子とiterateeパッケージの比較
現在、iterateeパターンを実装する2つの一般的な選択肢があります。
それらの相対的な利点は何ですか?一方が他方よりも優れているか、それともユースケースに依存しますか(もしそうなら、どちらを使用するかを決定する基準は何ですか)?
ruby - Rubyで列挙子を実装するには?
例えば:
次と同等です。
a.delete_if
私は列挙子を返すことを知っています。each
しかし、ブロックが true を返したときに、オブジェクトを削除する必要があることをどのように判断するのでしょうか? delete_if
手で (そして Ruby で)実装する方法は?
ruby-on-rails - このコードを改善する方法
私はオンラインハンドバッグストアを運営しており、ハンドバッグは黒、茶色、オレンジ、赤の4色にすることができます。黒のハンドバッグは茶色のハンドバッグなどよりも早く売れることに気づきました。つまり、黒いハンドバッグが一番好きな人です。
オンラインストアのホームページで、10個のバッグをグリッドレイアウトで選択して表示したいと思います。それで、私は黒いバッグを選ぶことから始めます。在庫に10個以上の黒いバッグがある場合は、停止して他の色のバッグを探しません。ただし、黒いバッグが5つある場合は、引き続き茶色のバッグを探します。茶色の鞄を追加した後、まだ10個の鞄がない場合は、オレンジ色の鞄などを探します。
以下は、Railsモデルメソッドとしてソリューションを実装するための私の試みです。
これは機能しますが、もっと良い書き方があるかどうか知りたいです。特に、このコードはRubyの列挙子を使用するように変換できると思います。
c# - この Java コードを C# に変換するにはどうすればよいですか?
C# に変換したい Java コードは次のとおりです。
logHeaders はList<String>
.
これは翻訳された C# バージョンですが、これを試すたびにコンパイラ エラーが発生します。
どのように変更する必要がありますか?
c# - 不明な列挙値を関数に渡す
これは、この質問の詳細です。c#列挙型関数パラメーター
私の質問を紹介するために、小さなサンプルアプリケーションを作成しました。
更新:これは、C#プログラミング言語での既知の問題です。検索エンジンでこれを見つけた人のために、コードに使用済みの回避策を追加しました。
私は次のようなことをすべきだと思います:
しかし、それは私にコンパイルエラーも与えています。
助けてくれてありがとう!