lua初次尝试第一步

27 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第23天,点击查看活动详情

前言

  • 在vim 程序员中现在应该必备lua知识了吧redis中也时常需要我们使用部分的lua的知识才能解决特定的场景,今天我们就来看看如何操纵lua。

基本结构

  • Lua的基本数据类型主要有:nil、boolean、Number、String、function、userdata、threads

  • 基本的数据结构和我们Java. Javascript 数据结构基本一致。不过需要特殊注意的是:

    • Nil:对应Java里的NULL , 就是空值或者说就是不存在

    • Boolean:这个没啥好说的就是True 或者 False , 这里需要注意的是上面的Nil也是False

    • Number:Lua只有一种Number类型-double(双精度类型)

    • Function:我的理解就是函数式编程

    • Userdata:就是其他语言定义的数据,在lua中使用Userdata接受,比如redis中的数据结构

    • Threads:在lua中使用的是协程,和线程一样有自己独立的栈、局部变量、指令指针,以及可以和其它协程共享全局变量。协程和线程区别:线程可以运行多个,协程序任意时刻只能运行一个,协程只有挂起才会暂停。具体协程的应用在后边专门介绍。

总结

  • lua 往往使用的场景主要是在脚本工具中的编写。所以lua从设计之初就将一切从简的理念贯彻下来,所以在数据结构的要求上他属于一种弱类型概念。

  • 在编写一个lua脚本的时候只需要将类似shell就可以了

  • 在这里,假设/usr/local/bin目录中提供了Lua解释器。 如果解释器以#符号开头,则第一行将被解释器忽略。

  • 使用Lua文件名参数调用解释器开始执行文件并继续直到脚本完成。 脚本完成后,解释器不再处于活动状态。

  • 下面来编写一个简单的Lua程序。 所有Lua文件都有扩展名.lua。 所以将以下源代码放在test.lua文件中。