(四)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构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...
随机推荐
- JavaScript:int string 相互转化
A.把int型转换成string型 (1) var x=100 a = x.toString() (2) var x=100; a = x +&quo ...
- struts2增删改查---layer---iframe层
在这里写一下struts2中的简单的增删改查 struts.xml中的配置 <?xml version="1.0" encoding="UTF-8" ?& ...
- C#之隐式与显示类型转换
今天在看一篇有关数据类型的文章的时候,无意间看到了两个关键词,"隐式转换"与"显示转换",然后突然想起了当初开始学编程的时候,也总是在代码编译的时候遇到这样的问 ...
- python标准数据类型
Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Sets(集合) Dictionary(字典) Python 中的变量不需 ...
- k-means算法概述
算法过程: 随机选取K个种子点 求所有点到种子点的距离,将点纳入距离最近的种子点群 所有点均被纳入群内后,将种子点移动到种子群中心 重复上述2.3过程,直至种子点没有移动 优缺点: 优点:容易实现 缺 ...
- Mysql查询优化器浅析
--Mysql查询优化器浅析 -----------------------------2014/06/11 1 定义 Mysql查询优化器的工作是为查询语句选择合适的执行路径.查询优化器的代码 ...
- TCP和UDP的区别(Socket)
TCP和UDP区别 TCP和UDP编程区别 TCP编程的服务器端一般步骤是: 1.创建一个socket,用函数socket(): 2.设置socket属性,用函数setsockopt(); * 可 ...
- android下网络通信流程
新版本android中进行socket编程有了新的要求和规定,在主线程中不能进行socket的创建和通信.所以一般都在线程中使用socket编程 这样在线程中使用就需要出现子线程与主线程交互的问题. ...
- Silverlight——施工计划日报表(二)
近来一直在加班,基本上没有个人时间.所以更新不会很即时. 长话短说,先从界面代码开始吧.界面代码很简单,如下所示: <UserControl xmlns:sdk="http://sch ...
- DLL基础
Visual C++在创建DLL导出函数时,可能会对原始的函数名做修改.例如: int WINAPI Add(int nLeft, int nRight) 导出后的函数名称是_Add@8. 下面两种方 ...