lua 面向对象和迭代器实现代码

文章目录

  • 1. 面向对象
  • 2. 迭代器实现
    • 2.1 实现数字 n 的平方
    • 2.2 实现 ipairs

1. 面向对象

Class = {}

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

local dog = Class:new()

2. 迭代器实现

2.1 实现数字 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 实现 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

你可能感兴趣的:(面试,lua,开发语言)