如何写好一个2Take1 Lua - 初步认识Lua

本文引导你快速理解Lua语言,从简单的'HelloWorld'示例开始,讲解字符串变量、局部变量、基本语法、数据类型(nil、bool、number、function、table)以及下标概念。通过实例演示和关键概念解析,助你踏上Lua编程之旅。
摘要由CSDN通过智能技术生成


前言

Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。
在本课中,如果你是个新手,请跟着教程一步一个脚印,学习Lua的基础

一、第一个 “Hello World”

打开你的代码编辑器
输入

print("Hello World")

输出

Hello World

由此可见我们的 "print()"正如翻译:打印/输出
格式print(xxx)
其中xxx可以是数字,也可以用双引号 “” 单引号 ‘’ 输出字符串

什么是字符串

简单讲就是 双引号里面的内容
例如:
“Abc”
“CBA”

Q:如果你想在字符串里面打双引号,单引号怎么办?

A: 如果你想打双引号 那么用 单引号括内容,单引号也是
E:
输入:
print('"ABC"')
print("'CBA'")
输出:
"ABC"
'CBA'

Q:如何打多行字符串
A:在Lua中可以使用[[内容]]来实现多行字符串。或者在单双引号里面使用"\n"换行 
E:
输入:
x=[[321
123]]
b='lol\n321'
print(x)
print(b)
输出:
321
123
lol
321

变量

在上一案例中利用了变量的概念,可什么是变量呢?

x=123

此时此刻,x代表了123这个,而x就是变量名,这个操作,称之为 赋值
变量名可以是任何英文,下划线,数字

!!!!
注意变量名不可以使用数字开头
Q:什么意思?
A:我们可以使用A123,AB1,AB2,AB3等作为变量名,而不能使用1AB,2AC,3AD等作为变量名

以下关键字也不可使用

andbreakdoelse
elseifendfalsefor
functionifinlocal
nilnotorrepeat
returnthentrueuntil
whilegoto

局部变量

在赋值前加上 local 代表局部变量
Q:局部变量和上面的变量有什么区别吗
A:上面的变量称之为全局变量,局部变量是在一个部分里面的临时变量,不与全局变量冲突,如果你在函数内使用了同名局部变量,那么将会优先使用局部变量,BUT!!局部变量是有限制的,不推荐大面积使用

基本语法

注释:–
在代码前面使用"–"表示注释
例如:

输入
print(888)
--print(123)
输出
888

数据类型

在每个高级语言中,基本上都有数据类型的概念
Lua的数据类型常用可以分为以下种类:

  1. nil
  2. boolean
  3. number
  4. string
  5. function
  6. table

nil

空类型,类似于其他语言的null
如果打印一个不存在的变量就会返回nil
例如

输入
print(abc)
输出
nil

Q:为什么打印nil,不是有abc吗
A:因为abc是个不存在的变量,而不是字符串

boolean

中文名字:布尔型
只有truefalse
两个值,也可说 真 假

注意!
在lua中
除了nil,false以外均是true

使用以下代码证实上述

输入:
if false or nil then
    print("false 和nil至少有一个为真")
else
    print("false 和 nil 都为假")
end
if 0 then
    print("0是真")
else
    print("0是假")
end
输出:
诶结果我不给你,自己实验去,实践出真知

number

任何不带引号的数字都看做number

例如
print(123123)
print(1.3)
print(type(123123))
print(type(1.3))
输出:
123123
1.3
number
number

也可以使用科学计数法

例如:
print(2e1)
print(2e999)
输出:
20
1.#INF
Q:为什么2e999输出 1.#INF
A:1.#INF 是代表一个无效数字,至于出现这个问题是由于lua的number类型类似 int64+double 的组合体
而int64最大的值是2的63次方-1,超过了这个范围就会无效

function

这个以后细讲,现在只需要了解他的名字 方法/函数

table

table的创建是通过"构造表达式"来完成,最简单构造表达式是{},用来创建一个空表。也可以在表里添加一些数据

--一个空table
table1={}
table2={'a','b'}
下标

又称为索引,lua里 在table中,第一个位置的下标是1,第二个是2,以此类推
如果没有值,那就返回nil
同时,我们可以赋值字符串,下标为任意值,注意,赋值下标字符串必须使用字符串才可以输出

例如
a={'c','b','d'}
a['e']='f'
print(a[1])
print(a[3])
print(a[4])
print(a['e'])
输出
c
d
nil
f
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BaiXinSuper

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值