(四)Lua脚本语言入门
这篇文章就当成铺垫型的文章,写着写着发现有好多想写的,,关于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脚本语言入门的更多相关文章
- (四)Lua脚本语言入门(数组遍历)
这篇文章就当成铺垫型的文章,写着写着发现有好多想写的,,关于C#与Java,当然作为铺垫肯定与Lua的下部分介绍有关..... 对于"泛型",先看C#中"泛型" ...
- (五)Lua脚本语言入门
---恢复内容开始--- 写完这篇Lua脚本语言入门,自己就要尝试去用Lua脚本语言写esp8266了,,自己现在挺心急的,因为朋友使用esp8266本来说自己帮忙写好程序的,但是用的单片机不一样自己 ...
- (一)Lua脚本语言入门
今天开始自己的Lua语言学习,Lua脚本语言,是介于应用程序和开发其应用程序的底层编程语言之间,,它很方便调用其它语言,它只是在载入时对其进行编译,而不像我们写的单片机程序是预编译的,先编译好然后写入 ...
- (三)Lua脚本语言入门
又要找工作了,变的忧虑了,唯有学习才让内心变得踏实,今天玩了一下午的王者荣耀,正事都忘了...... 如果认为所谓的毅力是每分每秒的"艰苦忍耐"式的奋斗,那这是一种很不足的心理状态 ...
- (三)Lua脚本语言入门(数组)
又要找工作了,变的忧虑了,唯有学习才让内心变得踏实,今天玩了一下午的王者荣耀,正事都忘了...... 如果认为所谓的毅力是每分每秒的“艰苦忍耐”式的奋斗,那这是一种很不足的心理状态.毅力是一种习惯,毅 ...
- Lua脚本语言入门学习其应用教程
Lua脚本可以很容易的被C/C++代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用.不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,Ini等文件格式,并且更 ...
- (二)Lua脚本语言入门
上一篇文章忘了插入代码了,方便粘贴复制...... 函数 对于c语言就是 void aa()//c语言是用void { print("这是一个函数") } Lua就变成了 func ...
- (二)Lua脚本语言入门(关于函数)
上一篇文章忘了插入代码了,方便粘贴复制...... 函数 对于c语言就是 void aa()//c语言是用void { print("这是一个函数") } Lua就变成了 func ...
- 使用Lua脚本语言开发出高扩展性的系统,AgileEAS.NET SOA中间件Lua脚本引擎介绍
一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...
随机推荐
- NOIP 2014 提高组 题解
NOIP 2014 提高组 题解 No 1. 生活大爆炸版石头剪刀布 http://www.luogu.org/problem/show?pid=1328 这是道大水题,我都在想怎么会有人错了,没算法 ...
- Head First 设计模式 第2章 观察者模式
第2章.观察者模式 1.定义: 在对象之间定义一对多关系,当一个对象改变状态时,该对象的依赖会收到通知,并自动更新. 2.介绍 在介绍观察者模式之前,先来说一个日常生活中经常碰到的事(可能现在的人碰到 ...
- 【NO.7】HTTP请求-参数化
http://123.456.7.89:8080/article/relation/channel/0038/keyword/movie/start/0/size/20/ 简单说一下这个URL的意思也 ...
- Session获取不到的情况及解决办法(源码解析)
本博客是自己在学习和工作途中的积累与总结,仅供自己参考,也欢迎大家转载,转载时请注明出处,请尊重他人努力成果,谢谢. 1. 当有连个sessionFactory时,容易产生获取不到session的情况 ...
- oracle 表空间 表权限 用户
启动数据库命令分为三个阶段: 1.查看所有用户:select * from dba_user;select * from all_users;select * from user_users;2.查看 ...
- C语言极易出错的地方(更新中)
1 时刻记住C语言风格的字符串是以'\0'结尾,无论是在内存的分配还是字符串的赋值上都需要注意
- String、StringBuffer与StringBuilder
String.StringBuffer与StringBuilder之间区别 最近学习到StringBuffer,心中有好些疑问,搜索了一些关于String,StringBuffer,StringBui ...
- Fiddler过滤会话
Fiddler每次打开的时候都会打开十多个会话,期望只想抓取自己想要的请求. 1)User Filters:启用过滤器 2)在Filers面板中勾选"Use Filters", ...
- llvm+clang编译安装
最近一段时间在llvm+clang上做一些东西,所以顺便将自己如何编译安装llvm+clang写了篇文章发在这里,希望能帮助刚接触llvm+clang的童鞋少走一些弯路(我刚接触的时候为了编译安装这个 ...
- Struts2之初识
Struts2教程 第一章 初识Struts2 主页:http://struts.apache.org/ 优势:用户请求,模块处理,页面展现.适用于企业级开发,便于维护. 配置:web.xml中添加的 ...