首页 > 其他分享 >05. 迭代器

05. 迭代器

时间:2022-10-11 17:11:52浏览次数:51  
标签:end 迭代 自定义 05 -- print 写法

--第一种自定义(闭包迭代器)写法:
print("遍历可变长参数列表, 第一种自定义写法 ")
local function ErgodicList3(...)
    local i, t = 0, {n = select("#",...), ...}
    return function()
        if i < t.n then
            i = i + 1
            return i, t[i]
        end
    end
end

for i,j in ErgodicList3(7,nil,nil) do
   print(j)
end

--第二种自定义(迭代器)写法:
print("遍历可变长参数列表, 第二种自定义写法")
--迭代器中的参数是状态常量和控制变量 其中t是状态常量, a是控制变量
local function ErgodicList4(t,a)
    if a < t.n then
        a = a + 1
        return a, t[a]      --返回的第一个返回值必须是控制变量
    end
end

for i, j in ErgodicList4,{10,20,30,n = 3},0 do
   print(i, j)
end

 

标签:end,迭代,自定义,05,--,print,写法
From: https://www.cnblogs.com/xgkj/p/16779836.html

相关文章

  • 通关数据结构 day_05 -- 单调队列
    单调队列经典应用:滑动窗口里的最大值/最小值举例假设有序列:13-1-35367第一次滑动窗口是 【1 3 -1】最小值是-1第二次滑动窗口是 【3 -1 -3】最小值是-3以......
  • Bug改不完,迭代总延期,咋办?
    摘要:本文从流程上需要改进的地方进行讨论,分四个方面来分析产生这个问题的原因。本文分享自华为云社区《​​Bug改不完,迭代总延期,咋办?​​》,作者:华为云PaaS服务小智。前言随......
  • Nginx 405 not allowed解决办法
    Apache、IIS、Nginx等绝大多数web服务器,都不允许静态文件响应POST请求,否则会返回“HTTP/1.1405Methodnotallowed”错误。nignx的问题,一般可以通过下面的方法解决,只需......
  • Java Web 005
    DQL:对数据进行查询基本查询:select列名1,列名2from表名;--查询指定列select*from表名;--查询所有列select列名1,列名2from表名;-- 查询单列......
  • 05. Kubernetes - Kubeadm 节点 / Token 管理
    删除节点有些时候某些机器出现问题可能需要将其下掉,或者在初始化节点的时候信息初始化的有问题需要重新加入,这时候就涉及到删除节点的问题。具体删除办法如下,Master节点......
  • 玩转树莓派[05私有云搭建]
    title:玩转树莓派[05:私有云搭建]excerpt:我要……大战百度网盘!!tags:[raspberry,私有云,nextcloud]categories:[学习,raspberry]index_img:https://picture-s......
  • 20221005(补
    20221005题目简单点朴素算法​ 很容易想到存下每个位置后离它最近的各个字母的位置。然后再暴力地从答案区间\([l,r]\)的离左端点最近的\(e\)开始按\(e,a,s,y\)的顺序......
  • AGC-058
    AtcoderGrandContest058队友说板刷agc是最好的训练方法之一,于是我来了A-MakeitZigzag题意:给你一个长度为\(2n\)的排列,你最多可以做\(n\)次交换相邻元素的......
  • 005 事件触发
    [A]基本逻辑1.通过onXxx属性指定事件处理函数(注意大小写)a.React使用的式自定义(合成)事件,而不是使用的原生的DOM事件--为了更好的兼容b.Re......
  • 005Java开发环境搭建
    005Java开发环境搭建1、JDK下载与安装(1)卸载首先我们先来学习一下如何卸载JDK。删除Java的安装目录(jdk整个包)。删除环境变量里的“JAVA_HOME”。删除Path下关于Java......