Lua object-oriented and iterator implementation code

1. Object-oriented

Class = {
    
    }

function Class.new(self, obj)
    -- body
    obj = obj or {
    
    }
    self.__index = self
    setmetatable(obj, self)
    return obj
end

local dog = Class:new()

2. Iterator implementation

2.1 Realize the square of the number n

function square(iteratorMaxCount,currentNumber)
   if currentNumber<iteratorMaxCount
   then
      currentNumber = currentNumber+1
   return currentNumber, currentNumber*currentNumber
   end
end

for i,n in square,3,0
do
   print(i,n)
end

2.2 Implement ipairs

function iter (a, i)
    i = i + 1
    local v = a[i]
    if v then
       return i, v
    end
end
 
function ipairs (a)
    return iter, a, 0
end

Guess you like

Origin blog.csdn.net/weixin_45136016/article/details/131873574