// -- NamedJavaFunction methods @Override public int invoke(LuaState luaState) { Iterable<?> iterable = luaState.checkJavaObject(1, Iterable.class); luaState.pushJavaObject(new ElementIterator(iterable.iterator())); luaState.pushJavaObject(iterable); luaState.pushNil(); return 3; }
// -- JavaFunction methods @Override public int invoke(LuaState luaState) { if (iterator.hasNext()) { luaState.pushJavaObject(iterator.next()); } else { luaState.pushNil(); } return 1; }