顺便说几句,因为个别原因,我更多会在手机Lua编译器上写代码,但这不会影响到我们的学习(别忘了,我们只需要学Lua的基本语法,至于电脑上环境的搭建,怎么写进写出文件等等等等,奉行一个原则 ——— 了解与忽视)
我使用的编译器是这个家伙
关键词
下列列出了Lua中所有的关键词,每一个关键词都有自己的含义,因此关键词不能作为任何变量与常量。
and break do else
elseif end false for
function if in local
nil not or repeat
return then true until
while
Lua数据类型
Lua中有8个基本类型分别为:nil、boolean、number、string、userdata、function、thread和table。大部分我们会一一讲解,不同于别的语言(C)的是,Lua变量赋值可以直接赋值而不需写出它的数据类型。
C语言
int a = 10;
char b[10]="hello";
Lua语言
a =10
b = "Hello World"
┏(`ー´)┛ 打" ; "是个好习惯,为了方便,手机上我都不打。
探究数据类型之 type 大法
你可以试试打一下这串代码
print(type(10))
可以看到,它输出的结果就是它的数据类型 number
可见 type() 的意思就是输出括号里东西的数据类型。再比如说
print(type("hello World"))
不出意外,输出的结果即使字符串的数据类型——— string
问题: 假如这样写呢
print(type(type))
print(type(true))
仔细想
仔细想
仔细想
仔细想
你会发现输出就是另外两个数据类型 Function(函数)与Boolean(布尔)┏(`ー´)┛
nil 一切皆是空
作为一种数据类型,nil是用来干什么的呢?其实nil就是"空"的意思
我们可以这样来理解。
「a 是一个不纯在的变量」
print(type(a))
我们观察到输出是
nil
那么nil可以被赋值吗?
当然可以┏(`ー´)┛
tab = {a = 12}
print(tab.a)
tab.a = nil
print(tab.a)
哈哈, 看看输出呢
12
nil
可以看到,第二次a值已经被我们删除掉了
Boolean 真真假假 假假真真
boolean类型只有两个可选值:true(真) 和 false(假),Lua 把 false 和 nil 看作是"假",其他的都为"真":
print(type(true))
print(type(false))
print(type(nil))
if false or nil then
print("至少有一个是 true")
else
print("false 和 nil 都为 false!")
试试上面这串代码
数字 ∩ε∩(加油 数据最后一部分了)
Lua 默认只有一种 number 类型 -- double(双精度)类型(默认类型可以修改 luaconf.h 里的定义)
并且Lua会试着自己运算 自己运算 自己运算 重要的事情说三变!
试试
print(50*2/10)
哈, 看到了吧,它会输出
10
比计算器好用吧。
最后几句话
到此,数据结构部分差不多就完了。
你肯定会有许多想问的。让我来演个相声。
问: 数据类型有什么用?
答:让你知道什么是什么,比如说后面解析代码,我说"这个函数的布尔用的真是巧妙,这个string干净利落,这个number类的数据就是我们所求的" 你就不会这个表情 ヽ(ー_ー )ノ 而是这个表情┏(^0^)┛
问:学这些有什么用,为什么不来点实战,编个游戏看看。
答:ヽ(ー_ー )ノ
问:编程是不是很难,该怎么学?
答:只要有兴趣,都不难。学会了基本语法,我们在codea上正式编程时,你会发现,以前别人写的代码你看作天书,现在你也可以略知一二,并且将之改成自己的代码(┏(`ー´)┛别跟我学 这很缺德)
光靠这篇教程远远不够,你更该在接下来的时间里自己找资料学习。
相比于看视频我更支持看纸质教程。跟着书上学。
问: print是什么?
→_→上面开个玩笑
书曰 天道酬情
巩固所学的 我们开始下一篇教程。