【博学谷学习记录】超强总结,用心分享|【服务框架高级】Lua入门

目录

简介 

Window 系统上安装 Lua

 基础语法

Hello World

注释

标示符

关键词

变量定义


 

Lua的设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。

简介 

 作为一门过程型动态语言,Lua有着如下的特性:

  • 变量名没有类型,值才有类型,变量名在运行时可与任何类型的值绑定;
  • 语言只提供唯一一种数据结构,称为表(table),它混合了数组、哈希,可以用任何类型的值作为 key 和 value。提供了一致且富有表达力的表构造语法,使得 Lua 很适合描述复杂的数据;
  • 函数是一等类型,支持匿名函数和正则尾递归(proper tail recursion);
  • 支持词法定界(lexical scoping)和闭包(closure);
  • 提供 thread 类型和结构化的协程(coroutine)机制,在此基础上可方便实现协作式多任务;
  • 运行期能编译字符串形式的程序文本并载入虚拟机执行;
  • 通过元表(metatable)和元方法(metamethod)提供动态元机制(dynamic metamechanism),从而允许程序运行时根据需要改变或扩充语法设施的内定语义;
  • 能方便地利用表和动态元机制实现基于原型(prototype-based)的面向对象模型;
  • 从 5.1 版开始提供了完善的模块机制,从而更好地支持开发大型的应用程序;

Lua应用场景:

  • 游戏开发
  • 独立应用脚本
  • Web 应用脚本
  • 扩展和数据库插件如:MySQL Proxy 和 MySQL WorkBench
  • 安全系统,如入侵检测系统

Window 系统上安装 Lua

window下你可以使用一个叫"SciTE"的IDE环境来执行lua程序,下载地址为:

Github 下载地址:https://github.com/rjpcomputing/luaforwindows/releases 

Google Code下载地址 : https://code.google.com/p/luaforwindows/downloads/list 

双击安装后即可在该环境下编写 Lua 程序并运行。

你也可以使用 Lua 官方推荐的方法使用 LuaDist:LuaDist

安装好后查看版本:

$ lua -v

 基础语法

Hello World

我们创建一个 HelloWorld.lua 文件,代码如下:

print("Hello World!")

执行以下命令:

$ lua HelloWorld.lua

输出结果为: Hello World!

Lua也提供了交互式编程。打开命令行输入lua就会进入交互式编程模式:

$ lua
Lua 5.1.4  Copyright (C) 1994-2008 Lua.org, PUC-Rio
> print("Hello World!")
Hello World!
>

注释

两个减号是单行注释:

--单行注释

多行注释:

--[[
 多行注释
 多行注释
 --]]

标示符

Lua标示符以一个字母 A 到 Z 或 a 到 z 或下划线_开头后加上0个或多个字母,下划线,数字(0到9)。
最好不要使用下划线加大写字母的标示符,因为Lua的保留字也是这样的。
Lua 不允许使用特殊字符如 @$, 和 % 来定义标示符。 Lua区分大小写。

关键词

以下列出了 Lua 的保留关键字。保留关键字不能作为常量或变量或其他用户自定义标示符:

and    break    do    else
elseif    end    false    for
function    if    in    local
nil    not    or    repeat
return    then    true    until
while        

一般约定,以下划线开头连接一串大写字母的名字(比如 _VERSION )被保留用于 Lua 内部全局变量。

变量定义

变量在使用前,必须在代码中进行声明,即创建该变量。

Lua是动态类型语言,变量不要类型定义,只需要为变量赋值:

name = "demo"
year = 2022
a = true
score = 98.01

变量的默认值均为 nil。访问一个没有初始化的全局变量不会出错,只不过返回结果是:nil。当然如果你想删除一个全局变量,只需要将变量赋值为nil即可:

score = 98.01
score = nil

Lua 变量作用域:

a = 10	--全局变量
local b = 10 	--局部变量

Lua 中的局部变量要用local关键字来显式定义,不使用 local 显式定义的变量就是全局变量。就算在if等语句块中,只要没使用local关键字来显式定义,也是全局变量,这一点和别的语言不同。

实际编程中尽量使用局部变量。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值