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 ...
随机推荐
- Spring基本功能-IOC
一.SpringIOC Spring的控制反转:把对象的创建,初始化,销毁的过程交给SpringIOC容器来做,由Spring容器控制对象的生命周期. 1.1 启动Spring容器的方式: (1)加载 ...
- docker——三大核心概念
镜像.容器.仓库是docker的三大核心概念. docker镜像类似于虚拟机镜像,你可以将其理解为一个只读模板. docker容器类似于一个轻量级的沙箱,Docker利用容器来运行和隔离应用.容器是从 ...
- Java基础知识陷阱(七)
本文发表于本人博客. 上次说了下HashSet和HashMap之间的关系,其中HashMap这个内部有这么一句: static final float DEFAULT_LOAD_FACTOR = 0. ...
- 解决 ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
速度太慢点击了一下优化,出现了 ORA-12514,搜索了解决方法记录一下,第一个基本服务就解决了. 转自:http://apps.hi.baidu.com/share/detail/19115407 ...
- git 常用命令行操作
git常用命令行操作: 点击 git bash 进入到命令行: git clone https://github.com/wlz1244/qingoo.git //下载一个master分支代码 g ...
- vector 迭代 删除指定的元素
std::vector< Bullet * > m_vBullets; std::vector< Bullet * > m_vRemoveBulltes; ){ for ( s ...
- servlet的总结
tomcat在启动的时候 加载webapp下面的web.xml,加载里面定义的servlet. web.xml文件有两部分:servlet类定义和servlet映射定义每个被载入的servlet类都有 ...
- 一.复习GCC编译器的用法
1.复习GCC编译器的用法 欲善其工,那么要先利其器.在这个C语言巩固与提高的阶段中,如果想要更好的达成预期目标,首先就要熟练掌握GCC编译器的用法.以下是GCC相关知识: GCC使用语法 gcc 选 ...
- oracle错误一览表
ORA-00001: 违反唯一约束条件 (.)ORA-00017: 请求会话以设置跟踪事件ORA-00018: 超出最大会话数ORA-00019: 超出最大会话许可数ORA-00020: 超出最大进程 ...
- 20145302张薇《Java程序设计》实验一报告
20145302 <Java程序设计>实验一:Java开发环境的熟悉 实验内容 使用dos命令行编译.运行简单的Java程序: 使用IDEA编辑.编译.运行.调试Java程序. 1.命令行 ...