Lua和C的语法差别
- 没有main函数
Lua是脚本语言,没有固定入口的main函数。当lua解析器解析某个lua代码文件时,lua解析器一样一行的解析lua脚本。
print("Hello lua")
将以上代码保存在a.lua,然后执行lua a.lua,将看到输出
- 除法要小心
c/c++整数相除时,得到的依旧是整数,而lua则不是
std::cout << 3/5 << endl; // 在C++中,得到0
print(3/5) -- 在lua中,得到0.6
- ^符号意义不同
在Lua中,^表示乘方,比如2^5等于32
- 逻辑假不同
在lua中,只有false和nil表示假,其他表示真,也就是说,0也表示真
local a = 0
if a then
print("is true")
end
以上代码会打印is true
- ~=表示不等于
跟c语言里!=不同
- #操作符
#操作符用来获取长度
print(#"abc")
-- 将输出3
- 字符串表示更加灵活
在lua中,可以用''、""、[[]]来引用字符串,字符串中遇到特殊字符也可以用\进行转义
local a = 'abc'
local b = "abc"
local c = "ab'c"
local d = 'ab"c'
local e = [[
<html>
this is "aaa" 'bbb' ....
</html>
]]
- 没有continue
Lua和C的语法差别的更多相关文章
- sql 与 oracle 几个简单语法差别
sql 与 oracle 之间的 语法差别. 简单的几个函数转换 sql-> Up_Time=getdate(), isnull(), substring(), charindex(), ...
- lua 中pairs 和 ipairs差别
ipairs 和pairs在lua中都是遍历tbale的函数可是两者有差别 1.pairs遍历table中的全部的key-vale 而ipairs会依据key的数值从1開始加1递增遍历相应的table ...
- Lua学习笔记(1) ——语法
1. Lua -i main.lua -i 进入交互模式 -l 加载一个库 -e “lua code” 直接在命令行执行lua code 2. 注释 -- This is a line comme ...
- C# 与 C++,语法差别有多小-第二章 C++浏览
(一)动态内存分配和指针 C++:new 和 delete int *arr = new int[ 4 ]; C#:只有new,de ...
- Java&C#语法差别
Java C# 主类名与文件名 必须一致 可以不一致 命名空间导入方式 import关键字 using关键字 常量 final关键字 Const关键字 基本数据类型 C#中有无符号数,Java没有 ...
- C# 与 C++,语法差别有多小-其他2
1. 内存分配 C++:指针在堆区(new),定义在栈区 C#: 对象在堆区,值在栈区.不允许不通过new在构造对象 2.变量 C++: char 1个字节 ascii C#: char 2个字 ...
- C# 与 C++,语法差别有多小-第三章 C++数据类型 第一部分
一,数据类型 C++: char int short long float double, unsigned long double(128位,19位有效数字), wchar_t, 浮点型文字常量 ...
- Lua基础语法讲解
Lua 是什么? Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能. Lua 是巴西里约热内卢天主教大学( ...
- Cocos2d-x 脚本语言Lua基本语法
Cocos2d-x 脚本语言Lua基本语法 前面一篇博客对Lua这门小巧的语言进行了简单的介绍.本篇博客来给大家略微讲一下Lua的语法.不会长篇累牍得把Lua的全部语法都讲一遍,这里通过下面几点来讲L ...
随机推荐
- 使用milang出错:LookupError: unknown encoding: idna
今天同事安装了milang,结果发现例如以下出错: Traceback (most recent call last): File "F:\vmid.py", line 11, i ...
- springboot 项目maven 打包错误
Execution default of goal org.springframework.boot:spring-boot-maven-plugin:1.5.6.RELEASE:repackage ...
- java.lang.NoSuchMethodError: com.itextpdf.text.pdf.PdfDiv.setKeepTogether(Z)V
用com.itextpdf.text.Document打印pdf报错 时间:2017-06-22 12:23:39,594 - 级别:[ERROR] - 消息: [other] Servlet.ser ...
- ES6原生Promise的所有方法介绍(附一道应用场景题目)
JS的ES6已经出来很久了,作为前端工程师如果对此还不熟悉有点说不过去.不过如果要问,Promise原生的api一共有哪几个?好像真的可以难倒一票人,包括我自己也忽略了其中一个不常用的API Prom ...
- springMVC(4)---生成excel文件并导出
springMVC(4)---生成excel文件并导出 在开发过程中,需要将数据库中的数据以excel表格的方式导出. 首先说明.我这里用的是Apache的POI项目,它是目前比较成熟的HSSF接口, ...
- springboot 入门四-时间类型处理
springboot 自带了jackson来处理时间,但不支持jdk8 LocalDate.LocalDateTime的转换. 对于Calendar.Date二种日期,转换方式有二种: 一.统一app ...
- IOS学习8——常用框架学习汇总
我们在学习和code过程中经常会用到一些框架,本文将会持续更新最新学习和用到的框架 布局框架: Masonry介绍与使用实践:快速上手Autolayout iOS MJRefresh下拉.上拉刷新自定 ...
- Principle-初步认识(简介)
Principle官网 探究了一下 . 呃--作出了下边这玩意 做的好的是这样的,瞬间把自己给菜了,给大家看看,设计需要UI功夫啊 把这个用上你的界面就搞基了,图形在水平.垂直上的动态效果(*.*) ...
- 嵌入式设计初体验:永远的hello,world
目前,xilinx的zynq系列FPGA炒的火热,SOC成为FPGA发展的必然趋势.可见所有功能均用硬件描述语言设计是不科学的.硬件逻辑独有的并行性使其在实时处理和并行算法中占尽优势,但当执行串行操作 ...
- lesson - 8 课程笔记 tar / gzip /bzip2 / xz /
作用:为linux的文件和目录创建档案,也可以在档案中改变文件,或者向档案中加入新的文件即用来压缩和解压文件.tar本身不具有压缩功能.他是调用压缩功能实现的 语法:tar[必要参数][选择参数][ ...