这篇文章就当成铺垫型的文章,写着写着发现有好多想写的,,关于C#与Java,当然作为铺垫肯定与Lua的下部分介绍有关.....

对于"泛型",先看C#中"泛型"是一个怎么回事,,,,,我感觉名字起错了,应该叫"事先规定存入的数据类型"

我们在定义数组的时候     int(long或char或...) table[]  = new int[4];定义了一个int型的数组,如果我们table[0]=0.55,肯定会报错,因为存的是小数,应该存int型的才对

现在定义一个链表,对于链表其实也是数组,不过内部提供的很多功能(方法),更方便的存取操作修改数据罢了,

List<int> DataList = new List<int>();//链表

注意这里 

<int>就是说明一下我这个数组哈(链表)只能存入int类型的,如果是存的String类型的就是List<string> DataList = new List<string>();//链表

在没有<string>  这项功能之前,

直接List DataList = new List();//链表

假设我做的程序就是存取string类型的,那么我自己知道是存入string类型的,所以自己会存string类型,,,但是如果程序庞大了,不小心存入了别的类型,这时候编译是没有错的,但是经过一段时间做完了这个程序一实际运行就挂了,,,,,为了让在编译初期就能检查到,就引入了<数据类型>这个玩意,主要是提高代码的安全性,

因为小括号(),中括号[]和大括号{}都有用途了,一看尖括号<>还没用,就选择尖括号吧,,,,,,,对了这就是泛型<数据类型>..."事先规定存入的数据类型",一项功能

java中遍历数组

今天连怎么建工程都忘了............

对于C#的遍历

对于名词"迭代器",,,,大白话就是,可以遍历一个集合里的所有元素的程序(一个一个的把元素取出来),这个程序呢如果写到了一个函数里直接调用这个函数就可以遍历一个集合

里的所有元素了

一般都是写到一个函数里,,方便调用......为什么不叫--遍历器,,有了迭代器能更好地操作元素,对元素进行其它功能的调用,比如判断,

先看一个函数  pairs(t)

还是直接上代码,看它的功能

可以说Lua设计的遍历更便捷,,既可以返回数据也可以返回下标

有时候会想对于C#的遍历数组

为什么这样写上就能遍历数组了,,为什么就能直接把table[0],table[1]..赋值给变量 i 了

它肯定内部遇到 foreach(int i in table)肯定转化了一下,把table一个一个的赋值给了 i

像是如果我们没有foreach这个功能

我们就要,或许内部转成了这种形式,不过应该更复杂

for(int i=0;i<table.Length ; i++)

{

Console.WriteLine(table[i])

}

所以对于Lua的

for i,j in pairs(a) do
print(i,j)
end
pairs(a)是一个迭代器,,迭代器,,说出这个来总感觉有水平似的,你要是说遍历数组的程序显得只是程序,,说迭代器,显出来的是水平.....
这个函数的功能就是能返回数组的下标和下标对应的值然后通过泛型for,有一项功能,按照某种格式(像上面的格式)
pairs(a)返回的下标就传给了i,下标对应的值就传给了j
 

这句话应该这样说,拿这个当例子

,

在for执行过程中 io.lines 这个迭代器一直把数据传给 line 然后判断 line是不是为nil如果是就结束循环,如果不是就执行 io.write(line,"\n"),,,,, 没数据了io.lines就会把nil传给 line

这篇只是粗略说一说....................

(四)Lua脚本语言入门的更多相关文章

  1. (四)Lua脚本语言入门(数组遍历)

    这篇文章就当成铺垫型的文章,写着写着发现有好多想写的,,关于C#与Java,当然作为铺垫肯定与Lua的下部分介绍有关..... 对于"泛型",先看C#中"泛型" ...

  2. (五)Lua脚本语言入门

    ---恢复内容开始--- 写完这篇Lua脚本语言入门,自己就要尝试去用Lua脚本语言写esp8266了,,自己现在挺心急的,因为朋友使用esp8266本来说自己帮忙写好程序的,但是用的单片机不一样自己 ...

  3. (一)Lua脚本语言入门

    今天开始自己的Lua语言学习,Lua脚本语言,是介于应用程序和开发其应用程序的底层编程语言之间,,它很方便调用其它语言,它只是在载入时对其进行编译,而不像我们写的单片机程序是预编译的,先编译好然后写入 ...

  4. (三)Lua脚本语言入门

    又要找工作了,变的忧虑了,唯有学习才让内心变得踏实,今天玩了一下午的王者荣耀,正事都忘了...... 如果认为所谓的毅力是每分每秒的"艰苦忍耐"式的奋斗,那这是一种很不足的心理状态 ...

  5. (三)Lua脚本语言入门(数组)

    又要找工作了,变的忧虑了,唯有学习才让内心变得踏实,今天玩了一下午的王者荣耀,正事都忘了...... 如果认为所谓的毅力是每分每秒的“艰苦忍耐”式的奋斗,那这是一种很不足的心理状态.毅力是一种习惯,毅 ...

  6. Lua脚本语言入门学习其应用教程

    Lua脚本可以很容易的被C/C++代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用.不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,Ini等文件格式,并且更 ...

  7. (二)Lua脚本语言入门

    上一篇文章忘了插入代码了,方便粘贴复制...... 函数 对于c语言就是 void aa()//c语言是用void { print("这是一个函数") } Lua就变成了 func ...

  8. (二)Lua脚本语言入门(关于函数)

    上一篇文章忘了插入代码了,方便粘贴复制...... 函数 对于c语言就是 void aa()//c语言是用void { print("这是一个函数") } Lua就变成了 func ...

  9. 使用Lua脚本语言开发出高扩展性的系统,AgileEAS.NET SOA中间件Lua脚本引擎介绍

    一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...

随机推荐

  1. Git时光机穿梭

    我们已经成功地添加并提交了一个readme.txt文件,现在,是时候继续工作了,于是,我们继续修改readme.txt文件,改成如下内容: Git is a distributed version c ...

  2. Selenium+Java显示等待和隐式等待

    描述:用来操作界面上的等待时间,显示等待是等待某一条件满足,条件满足后进行后面的操作:隐式等待是给出一个等待时间,在时间到达之前若满足条件,则立即执行后续操作. public class TestSe ...

  3. rpmrebuild备份glibc

    任务: 备份已安装的glibc为RPM包,还原. 准备: 下载rpmrebuild 上传至服务器 链接: https://pan.baidu.com/s/1pKNGnur 密码: wgy9 操作: 1 ...

  4. pudian

    https://zh.wikipedia.org/wiki/%E7%89%B9%E5%BE%81%E7%A0%81 http://www.voidcn.com/blog/lionzl/article/ ...

  5. 今天出现了一个问题,Tomcat 进入localhost:8080正常,进入项目内别的页面都是空白页

    经仔细检查发现代码没有任何的问题,经仔细检查找到了原因. 问题原因:拦截器(过滤器)把我的访问请求全都拦下了,我在拦截器里把//chain.doFilter(request, response);这行 ...

  6. 页面嵌套frame,Selenium定位问题

    有时候,什么定位元素的方法都试过了,还是定位不到元素,就考虑frame切换问题 driver.switchTo().frame("定位到的frame元素"); //接下来就可以在这 ...

  7. Linux误删C基本运行库libc.so.6处理方法

    1. libc.so.6介绍/usr/lib/libc.so.6是glibc的软链接,不同的平台可能路径会不一样.使用命令查看会看到: [root@farmer:~]$ls -l /lib/libc. ...

  8. 英文面试&笔试

    Topics:1.Talk about your carreer plan2.In ten years, what kind of people you will be? At that time,w ...

  9. 安卓开发中SQLite的使用(附实例)

    在Android平台上系统内置了丰富的API来供开发人员操作SQLite,我们可以轻松的完成对数据的存取.下面以我自己创建的收入信息表(InAccount)为例,来学习SQLite的使用. 主要是四个 ...

  10. select、poll、epoll简介

    epoll跟select都能提供多路I/O复用的解决方案.在现在的Linux内核里有都能够支持,其中epoll是Linux所特有,而select则应该是POSIX所规定,一般操作系统均有实现 sele ...