問題タブ [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.
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#プログラミング言語での既知の問題です。検索エンジンでこれを見つけた人のために、コードに使用済みの回避策を追加しました。
私は次のようなことをすべきだと思います:
しかし、それは私にコンパイルエラーも与えています。
助けてくれてありがとう!
javascript - Safari 拡張機能でタブの位置または識別子を取得
作成されたタブの各インスタンスに対して特定の配列要素を解析する必要があるサファリ拡張機能に取り組んでいます。ただし、各タブが挿入されたスクリプトで動作する異なる要素を受け取るように、配列を反復処理できる必要があります。これを行うために受信および送信メッセージ構造を使用していますが、配列要素を反復処理する方法を一生理解できません。インデックスとして機能する配列を作成し、メッセージ レスポンダー関数が起動されるたびにインクリメントしようとしましたが、これは何らかの理由で機能しませんでした。また、要素が配列から引き出されるたびに配列を単純にシフトしようとしましたが、タブが作成されると関数があまりにも早く起動されるため、これはうまくいかなかったと思います。
挿入された各スクリプト インスタンスである種の列挙関数を使用してタブ番号を把握し、それをグローバル ページへのメッセージと共に解析して、配列内の適切な要素を返すことができるようにしたいと考えています。
あらゆる助けをありがとう。
python - 最初の「インデックス」が1として報告されたリストを列挙する方法は? (パイソン 2.4)
カウンターを 1 から開始する必要があります。
しかし、Python v2.4 にはもっと良い方法があるはずです。