这篇文章就当成铺垫型的文章,写着写着发现有好多想写的,,关于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. Protocol Buffers与FlatBuffers效率对比

    Protocol Buffers是Google跨语言.跨平台的通用序列化库.FlatBuffers同样出自Google,而且也跨语言跨平台,但更强调效率,专门为游戏开发打造.在游戏界混了几年,各种各样 ...

  2. ASP.NET Core MVC – Caching Tag Helpers

    简介 缓存可以大大提高应用程序加载时间和响应速度.我们可以使用缓存Tag Helpers缓存不会频繁更改的HTML内容. 在上一篇文章中,我们谈到了Tag Helpers,演示Tag Helpers能 ...

  3. Oracle RAC 实验环境RMAN备份v1.01

    Oracle RAC 实验环境RMAN备份v1.01 环境:RHEL 6.5 + Oracle GI 11.2.0.4 + RAC 11.2.0.4 (2 nodes) 需求:制定RAMN备份策略 版 ...

  4. HDOJ 6069 素数筛法(数学)

    Counting Divisors Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Oth ...

  5. JavaScript基础知识(二)

    一.JavaScript事件详解 1.事件流:描述的是在页面中结束事件的顺序 事件传递有两种方式:冒泡与捕获. 事件传递定义了元素事件触发的顺序. 如果你将 <p> 元素插入到 <d ...

  6. android学习ScrollView的使用

    ScrollView 的使用相对来讲比较简单,通过包含更多的布局文件,使得上下滑动可以浏览到更多内容. 关于ScrollView有几个点需要注意的地方 1,ScrollView的滚动方式 Scroll ...

  7. python之--------封装

    一.封装: 什么是封装呢?(封装不是单纯意义的隐藏,其实它还是可以查看的) 就是把一些不想让别人看的给隐藏起来了 封装数据:目的是保护隐私 功能封装:目的是隔离复杂度 如果用了私有的,在类的外部,无法 ...

  8. python 第六天

    模块 包 我们可以同过包来避免与其它模块的命名冲突,例如,调用在外层 demo.py 调用 demoFile 文件夹中的demo.py 就可以通过 demo.demo 来调用 请注意,每一个包目录下面 ...

  9. RabbitMQ --- Routing(路由)

    目录 RabbitMQ --- Hello Mr.Tua RabbitMQ --- Work Queues(工作队列) RabbitMQ --- Publish/Subscribe(发布/订阅) 前言 ...

  10. Clang之语法抽象语法树AST

    语法分析器的任务是确定某个单词流是否能够与源语言的语法适配,即设定一个称之为上下文无关语言(context-free language)的语言集合,语法分析器建立一颗与(词法分析出的)输入单词流对应的 ...