MDN のイテレータに関する章を参照してください
https://developer.mozilla.org...ジェネレータ式
その後、自分で練習して問題を見つけます。
リーリーコードは比較的単純ですが、私が聞きたいのは、2 番目のメソッドで add() メソッドを割り当てないと、反復を生成できないのはなぜかということです。私の理解によれば、この例の add(3,5) はそれに相当しますが、結果は明らかにそうではありません。
黄舟2017-05-19 10:49:40
Iteratorのトラバース処理はこんな感じです。
(1) 現在のデータ構造の開始位置を指すポインター オブジェクトを作成します。言い換えれば、トラバーサー オブジェクトは本質的にはポインター オブジェクトです。
(2) ポインター オブジェクトの next メソッドを初めて呼び出すときに、ポインターをデータ構造の最初のメンバーに指すことができます。
(3) ポインター オブジェクトの next メソッドが 2 回目に呼び出されるとき、ポインターはデータ構造の 2 番目のメンバーを指します。
(4) データ構造の終端を指すまで、ポインター オブジェクトの next メソッドを呼び出し続けます。
phpcn_u15822017-05-19 10:49:40
add を実行するたびに オブジェクトが取得されます。これらのオブジェクトにはそれぞれ独立した電流があります。したがって、 it = add()
和多次 add()
1 回は同等ではありません。