Lua基本语法与数据结构

顺便说几句,因为个别原因,我更多会在手机Lua编译器上写代码,但这不会影响到我们的学习(别忘了,我们只需要学Lua的基本语法,至于电脑上环境的搭建,怎么写进写出文件等等等等,奉行一个原则 ——— 了解与忽视)

我使用的编译器是这个家伙

图片发自简书App


关键词

下列列出了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是什么?

→_→上面开个玩笑


书曰 天道酬情

巩固所学的 我们开始下一篇教程。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,440评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,814评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,427评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,710评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,625评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,014评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,511评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,162评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,311评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,262评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,278评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,989评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,583评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,664评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,904评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,274评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,856评论 2 339

推荐阅读更多精彩内容