Lua学习笔记(1)
最近在学Lua,看的是《Lua程序设计(第二版)》,似乎是唯一的中文资料了吧。且已经绝版,除了淘宝上能看到若干影印版外,其他的都找不到了。如果有朋友能找到正版的,请不吝相告
记录下初步的感受吧:
1.数据类型
Lua只有:nil(空)、boolean(布尔)、number(数值)、string(字符串)、userdata(自定义类型)、function(函数)、thread(线程)、table(表)这么几个类型。其中boolean的值为true/false(这不是废话吗),有意思地方在于,Lua将false跟nil视为假,也即是这两者之外都为真(不管是数值0,还是空字符串)。
2.运算符
算术运算符、关系运算符与目前主流的开发语言没什么差异。逻辑运算符虽然写法略有差别(and、or、not),但是主要还是运算结果还是不一样的
在C#/C++/java这些静态语言(也是主流语言)中,逻辑运算符的计算结果大都都是bool型,即为true/false。但是lua并不完全是。
a and b ----a若真,则返回 b
这样的表达式下,返回了是整个对象(如果a跟b是对象的话)
另外在Lua没有三元表达式,但是可以通过逻辑运算符来实现相似的功能
a and b or c ----要与三元表达式达到同样的效果,前提是b为真
原因是如果a为真,而b为假了,那么返回的不是b,而是c了,这个跟三元表达式就不一致了。个人感觉三元表达式的内在思想是分支,而Lua的模拟通过的是运算。而分支跟运算的差异在前面说的情况下,差异一下子就出来了。所以如果要用这种方式来实现三元表达式,就必须清楚b的值了。替代的方案是..........if...else(额)
另外Lua没有switch..所以,你懂的
转载于:https://www.cnblogs.com/haiyidao/archive/2012/10/25/2738007.html
Lua学习笔记(1)相关推荐
- Lua学习笔记6:C++和Lua的相互调用
曾经一直用C++写代码.话说近期刚换工作.项目组中的是cocos2dx-lua,各种被虐的非常慘啊有木有. 新建cocos2dx-lua项目.打开class能够发现,事实上就是C++项目啦,只是为什么 ...
- Lua 学习笔记(一)
Lua学习笔记 1.lua的优势 a.可扩张性 b.简单 c.高效率 d.和平台无关 2.注释 a.单行注释 -- b.多行注释 --[[ --]] 3.类型和 ...
- 微信小程序连接物联网(二):NodeMCU Lua学习笔记
索引 这是用微信小程序遥控开门的系列文章,具体微信小程序连接物联网的代码在第三章提及. 微信小程序连接物联网(一):初始化ESP8266 NodeMCU 微信小程序连接物联网(二):NodeMCU L ...
- lua 学习笔记---游戏开发第一步
lua 学习笔记-从数组开始 数组 数组大小范围不一定需要在声明是确定,可以改变 一维数组 例 > array = {"Lua", "lualu"} &g ...
- Lua学习笔记(2)
前段时间忙于其他事,没有继续Lua的学习,现在继续我们的Lua学习吧. 首先先推荐一本书<Programming in Lua>中文版名称<Lua编程>,这本书从最基础的部分开 ...
- Lua 学习笔记(一)环境搭建
Lua是一个小巧的脚本语言.Lua由标准C编写而成,代码简洁,几乎在所有的操作系统和平台上都可以编译,运行. 主要讲一下mac和win下的环境搭建. 工具: 1.Sublime Text 2 2.Lu ...
- cocos2d-x lua 学习笔记(1) -- 环境结构
Cocos2d-x 3.0超过环境的版本号来建立和前Cocos2d-x 2.0 差异较大的版本,从同时Cocos2d-x 3.0项目打包成apkAndroid的应用程序文件,步骤,构建环境有些乏味安德 ...
- cocos2d-x lua 学习笔记(1) -- 环境搭建
Cocos2d-x 3.0以上版本的环境搭建和之前的Cocos2d-x 2.0 版差异较大的,同时从Cocos2d-x 3.0项目打包成apk安卓应用文件,搭建安卓环境的步骤有点繁琐,但搭建一次之后, ...
- Lua学习笔记(一)
一.先来说说什么是lua 至于什么lua 的起源啊,什么大道理一样的东西就自行百科吧 我们重点谈谈为什么要学lua 目前lua的主要应用有 游戏方面的热更新框架,由于lua属于脚本语言,说起脚本语言你 ...
- 【Lua学习笔记】lua安装及Sublime编辑器配置
--因为工作需要,上周末趁着空闲时间简单学习Lua. [01.跟着视频敲的简单代码,学习还是要多动手才行哦] ok,学习lua的第一步就是安装好环境及选择一款好用的编辑器. lua安装包:https: ...
最新文章
- Python学习笔记17:标准库之数学相关(math包,random包)
- 织梦需要php什么版本,DedeCmsV5.1FreeSP1正式版发布
- 微软公司等数据结构+算法面试100题2010版全部出炉
- CSS3动画之一:Transitions功能
- 记录一次挖坑过程,idea git 代码分支合反了,如何补救
- windows痛苦面具-C盘瘦身法
- 路由器 AP、路由、中继、桥接模式的区别
- 简单记录双系统安装Ububtu22.04
- 手机拨出等待时间长_手机打不出去电话怎么回事 一分钟轻松排查原因
- C++学习 控制程序的流程
- SQL语句的优化(常规SQL语句的优化)
- SAP MM批次管理(3)批次级别
- 一个完整的招投标流程是怎么样的?
- 服务器上部署前端Vue项目代码
- 滚动代码瀑布流代码效果国际站店铺装修代码生成器在线编辑器
- 合工大与安大的计算机科学与技术好,计算机考研安徽大学和合工大两所学校哪个好?...
- windows11下系统睡眠状态被UpdateOrchestrator唤醒的解决方案
- 【Java基础知识】 异常处理机制
- 黑龙江省省一计算机考试题库,黑龙江省计算机等级考试题库参考
- 这样自学Java,第一份工作我直接拿到了20K!