Luaのイテレータ

注意:スタックの値はnilが撤退遭遇すること

反復子は、条件を満たす必要があるトラバーサルのためのフレームに沿ったものです

1 - 反復関数、定数、制御変数

2-反復関数は、2つのパラメータは、当然のことながら、(制御パラメータと状態変数としてパッケージクロージャを使用して)プロセスを無視することができ受け付け

例ステートレス

関数ITER 、I
    、I = I + 1つの
    ローカルVは= [I ]
    vの場合、次に
       I戻り、V
    エンド
エンド
 
機能ipairs (A
    リターンITER 0

マルチ状態の例

アレイ= { "グーグル" "Runoob" }

関数てElementIterator (コレクション
   ローカルインデックス= 0
   ローカルCOUNT = #collection
   -クロージャ関数
   戻り関数
      のインデックス=インデックス+ 。1
      インデックスIF <= COUNT
      その後は
         -イテレータを返します現在の要素が
         コレクションを返す[インデックス]
      エンド
   エンド
エンド

要素のためてElementIterator中(アレイ
を行う
   印刷(要素
終了

おすすめ

転載: www.cnblogs.com/justart/p/11649885.html