問題タブ [iterable]
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.
java - 列挙型が反復可能でないのはなぜですか?
Java 5 以降では、 foreach ループがあり、実装するものすべてに対して魔法のように機能しますIterable
。
ただし、 はEnumerable
まだ を実装していませんIterable
。つまり、 を反復処理するにEnumeration
は、次のことを行う必要があります。
Enumeration
まだ実装していない理由があるかどうかは誰にも分かりますIterable
か?
編集:明確にするために、私はenumの言語概念について話しているのではなく、 「 Enumeration 」と呼ばれる Java API の Java 固有のクラスについて話しているのです。
arrays - Dynamic での Haxe 反復
タイプの変数がありDynamic
、そのフィールドの 1 つを確かに知っています。それa
を呼び出しましょう。実際には配列です。でも書いてる時は
2 行目でコンパイル エラーが発生します。
動的な値を反復処理することはできません。Iterator または Iterable を指定してください
これをコンパイル可能にするにはどうすればよいですか?
python - 発電機出力の長さ
Python は、熱心な iterable の長さを取得するための優れた方法を提供しますlen(x)
。しかし、ジェネレータ内包表記と関数で表される遅延イテラブルに似たものは見つかりませんでした。もちろん、次のようなものを書くのは難しくありません。
しかし、自転車を再実装しているという感覚は拭えません。
(関数を入力しているときに、考えが頭に浮かびました。引数を「破棄」するため、そのような関数は実際には存在しない可能性があります。ただし、私の場合は問題ではありません)。
PS: 最初の回答について - はい、次のようなものlen(list(x))
も機能しますが、メモリの使用量が大幅に増加します。
PPS: 再チェック... PS は無視してください。試行中に間違いを犯したようです。正常に動作します。ご迷惑おかけして申し訳ありません。
python - スライス表記について
Python のスライス表記法についての適切な説明が必要です (参照はプラスです)。
私にとって、この表記法は少し理解する必要があります。
非常に強力に見えますが、私はそれについてよく理解していません。
java - JavaのIteratorがIterableではないのはなぜですか?
Iterator
インターフェイスが拡張されないのはなぜIterable
ですか?
iterator()
メソッドは単純に を返すことができますthis
。
それは意図的なものですか、それとも Java の設計者の単なる見落としですか?
次のような反復子で for-each ループを使用できると便利です。
wherelistSomeObjects()
は反復子を返します。
python - Pythonでメンバーシップテストをエミュレートする: __contains__をcontained-objectに正しく委譲する
私は、Python が機能を他のオブジェクトに委任するためのいくつかの巧妙なトリックを許可していることに慣れています。1 つの例は、含まれているオブジェクトへの委任です。
しかし、__contains __ をデリゲートしたい場合、運が悪いと思われます:
私は得る:
私が間違っていることは何ですか?a.__contains __(1) を呼び出すと、すべてがスムーズに進みます。A に __iter __ メソッドを定義して、A をイテラブルに見えるようにしようとさえしましたが、役に立ちませんでした。ここで何が欠けていますか?
python - 反復可能なPython forループはどのように機能しますか?
この for ループは何for party in feed.entry
を意味し、実際にどのように機能するのでしょうか?
(私は C++ スタイルの for ループに慣れていますが、Python のループには戸惑いました。)
java - Java 反復子/反復可能サブインターフェース
さまざまなクラスのインターフェイスがあり、そのすべてが Iterator を実装する必要があるため、次のようなものがあります
ただし、具体的なクラスの場合、これは使用する必要があることを意味します
クラスの具体的な使用が明示的な型を持つことができるように使用することを好む(または少なくとも、私が好むと思う)ときpublic Iterator<B> iterator() {...}
(インターフェイスにないメソッドを使用できるようにしたい場合など)たぶん、それは出てこないのでしょうか? それとも出てくるとしたら、それは設計が悪いのでしょうか?
裏側は、 Iterator インターフェイスを使用することです
具体的なクラスは問題なくコンパイルされます
何を与える?
java - Java: コレクションから最初のアイテムを取得する
などのコレクションがある場合Collection<String> strs
、最初のアイテムを取り出すにはどうすればよいですか? を呼び出してIterator
、最初の を取りnext()
、次に を捨てることができIterator
ます。無駄の少ない方法はありますか?
java - Java、Googleコレクションライブラリ; AbstractIteratorに問題がありますか?
GoogleコレクションライブラリAbstractIteratorを使用してジェネレーターを実装しています。そうしているときに問題に遭遇しました。より基本的なタイプに減らして、問題を再現しました。Iterableを介して1からnumelementsまで数えると、この削減は明らかにやり過ぎです。
基本的に、次のコードでは、コメントされていないバージョンは機能しますが、コメントされたバージョンは機能しません(最後の番号で終わるのではなく、最後にnull要素を提供します)。
私は何か間違ったことをしていますか、それともこれはライブラリの問題ですか?
私はまた、アレンジメントをいじってみました?:
(たとえば、リターンの前に付けて、代わりに+1と比較しました)、無駄になりました。これに関するドキュメントを少し探しましたが、何も見つかりませんでした。明らかに、?:
構文は便利であり、必要ではありませんが、それでも...