Lua学习笔记1,基本数据类型
1.字符串的连接使用的是 .. ,如
print(123 .. 44)
输出 12344
print ('a' .. 'b')
输出 ab
print(123 .. 44)这句的时候 .. 两边要空格
2. lua注释符号
单行 --
多行
--[[
此处是注释
--]]
3. 字符串块
stringblock=[[
this is a string
block
]]
4. 空类型 nil 相当于NULL,如果一个变量未赋值,那么其值为 nil,且在条件语句中 nil值为 false,例如
if nil then
print('nil')
else
print('nil is false')
end
输出
nil is false
5. # 放在字符串前面可以计算字符串长度
str1 = "this is a string"
print(#str1)
输出
16
6. table数据类型
这个类型蛮有意思的,表示的是关联数组,有点类似于字典结构,数字和字符串都可以作为索引
a={} --空table
a["key"]='value'
a[10]=22
for k,v in pairs(a) do
print( k ..":".. v)
end
输出
key : value
10 : 33
这里pairs()是函数,可以用print(type(pairs))查看,具体用法未明。。。后面再看
另外,table的默认索引是从1开始的
tbl = {"apple", "pear", "orange", "grape"}
for key, val in pairs(tbl) do
print("Key", key)
end
输出
Key 1
Key 2
Key 3
Key 4
table没有固定长度,也不用预先声明其大小,没有初始化的table都是nil
7. function类型
这个类型好爽,和matlab里面的function很类似,首先function可以类似于应用传递,其次function可以直接作为函数参数传递
function fibonaccia(n)
if n == 0 or n==1 then
return 1
else
return fibonaccia(n-1)+fibonaccia(n-2)
end
end
print(fibonaccia(10))
fib=fibonaccia
print(fib(10))
function funcpass(tab,fun)
for k,v in pairs(tab) do
print(fun(v))
end
end
tab={1,2,3,4,5}
funcpass(tab,fib)
总结:Lua有8种基本的数据类型:nil,number,string,table,function,boolean,thread,userdata
Lua学习笔记1,基本数据类型的更多相关文章
- [转]LUA 学习笔记
Lua 学习笔记 入门级 一.环境配置 方式一: 1.资源下载http://www.lua.org/download.html 2.用src中的源码创建了一个工程,注释调luac.c中main函数,生 ...
- Lua 学习笔记(一)
Lua学习笔记 1.lua的优势 a.可扩张性 b.简单 c.高效率 d.和平台无关 2.注释 a.单行注释 -- b.多行注释 --[[ --]] 3.类型和 ...
- Lua学习笔记6:C++和Lua的相互调用
曾经一直用C++写代码.话说近期刚换工作.项目组中的是cocos2dx-lua,各种被虐的非常慘啊有木有. 新建cocos2dx-lua项目.打开class能够发现,事实上就是C++项 ...
- Lua学习笔记4. coroutine协同程序和文件I/O、错误处理
Lua学习笔记4. coroutine协同程序和文件I/O.错误处理 coroutine Lua 的协同程序coroutine和线程比较类似,有独立的堆栈.局部变量.独立的指针指令,同时又能共享全局变 ...
- Typescript 学习笔记二:数据类型
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- (转)Lua学习笔记1:Windows7下使用VS2015搭建Lua开发环境
Lua学习笔记1:Windows7下使用VS2015搭建Lua开发环境(一)注意:工程必须添加两个宏:“配置属性”/“C或C++”/“预处理器”/“预处理器定义”,添加两个宏:_CRT_SECURE_ ...
- Lua学习笔记:面向对象
Lua学习笔记:面向对象 https://blog.csdn.net/liutianshx2012/article/details/41921077 Lua 中只存在表(Table)这么唯一一种数据结 ...
- lua学习笔记
工作需要,上周对lua赶进度似地学习了一遍,主要参考<lua中文教程>一书,中间参考一些<lua游戏开发实践>,首先说说这两本书,后者不适合初学,里面是对一个游戏脚本系统进行粗 ...
- Lua学习笔记(二):基本语法
Lua学习指南:http://www.lua.org/manual/ 首先我们要明确的一点是:在Lua中,除了关键字外一切都是变量. Lua关键字 可以查看这个地址:http://www.lua.or ...
- 【疯狂Java讲义学习笔记】【数据类型与运算符】
[学习笔记]1.8bit = 1byte,4byte = 1word.Java中的整型数据有byte(1字节),short(2字节),int(4字节),long(8字节).Java中的浮点数据有flo ...
随机推荐
- 【IO】- 关于ByteBuffer的一点认识
我们经常使用ByteBuffer. 通俗的Non-DerictedByteBuffer结构如下 HeapByteBuffer extends ByteBuffer { Byte[] array; in ...
- PKU 3687 Labeling Balls(拓扑排序)
题目大意:原题链接 给出N个未编号的质量各不相同的球,以及它们质量轻重的大小关系,给它们从1-N贴标签编号,无重复.问是否存在可行的编号方法,不存在输出-1, 如果存在则输出唯一一种方案,此方案是使得 ...
- 32. Longest Valid Parentheses(最长括号匹配,hard)
Given a string containing just the characters '(' and ')', find the length of the longest valid (w ...
- spark[源码]-SparkEnv执行环境创建
sparkEnv概述 sparkEnv是spark的执行环境,其中包括众多与Executor执行相关的对象.在local模式下Driver会创建Executor,local-cluster部署模式或者 ...
- 关于Task的认识
首先来说说 Task.Factory.StartNew这种方式来创建Task,这里的WaitAll()指的是等待所有Task执行完成,并且里面的Task参数(t1,t2)是异步的,先以匿名委托方式 s ...
- GridView自定义自增长的 序号 列
如图所示,添加一个普通列(非模板列),将其显示文本为 序号 在GridView的RowDataBound事件中作如下处理 后台.CS 代码:
- elasticsearch 5.5.1 head插件安装
5.5.1版本与之前版本有很大不同. 1. 下载插件 git clone git://github.com/mobz/elasticsearch-head.git 2. 编译 cd elasticse ...
- vim 中查询和转换编码
vim中查询修改文件编码格式 set fileencoding 查看现在文本的编码 :set fenc=编码 转换当前文本的编码为指定的编码 :set enc=编码 以指定的编码显示文本,但不保存到文 ...
- 1.1_Django简介及安装
Django的安装 Django安装 文档:https://docs.djangoproject.com/en/1.8/ pip install django 可以到这个网站查看可用的django版本 ...
- git如何生成单个文件的补丁
背景:有时候碰到一个commit包含了好几个文件的修改,但是我只需要其中一个文件的修改内容,那么这时候就需要以下方法来生成这一个文件对应修改内容的补丁 答:git format-patch " ...