lua实战(1)

news2024/11/16 17:34:07

目录

    • IDE
    • Lua中的名称
    • Lua是一种区分大小写的语言

Lua 是一个小巧的脚本语言。它是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo三人所组成的研究小组于1993年开发的。 其设计目的是为了通过灵活嵌入应用程序中从而为应用程序提供灵活的扩展和定制功能。Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行。Lua并没有提供强大的库,这是由它的定位决定的。所以Lua不适合作为开发独立应用程序的语言。Lua 有一个同时进行的JIT项目,提供在特定平台上的即时编译功能。

Lua是一种扩展编程语言,旨在支持具有数据描述功能的通用过程编程。它还为面向对象编程、函数式编程和数据驱动编程提供了良好的支持。Lua旨在作为一种强大的轻量级脚本语言,用于任何需要它的程序。Lua是作为一个库实现的,用干净的C(也就是说,在ANSI C和c++的公共子集中)编写。

作为一种扩展语言,Lua没有“主”程序的概念:它只能嵌入到宿主客户端中,称为嵌入程序或简称为宿主。这个主程序可以调用函数来执行一段Lua代码,可以读写Lua变量,可以注册由Lua代码调用的C函数。通过使用C函数,Lua可以扩展到处理各种不同领域,从而创建共享语法框架的定制编程语言。Lua发行版包括一个名为Lua的示例主机程序,它使用Lua库提供一个完整的、独立的Lua解释器。

Lua是自由软件,并且像往常一样提供,不提供任何保证,正如其许可证中所述。本手册中描述的实现可以在Lua的官方网站www.lua.org上获得。

Lua脚本可以很容易的被C/C++ 代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,ini等文件格式,并且更容易理解和维护。 Lua由标准C编写而成,代码简洁优美,几乎在所有操作系统和平台上都可以编译,运行。 一个完整的Lua解释器不过200k,在所有脚本引擎中,Lua的速度是最快的。这一切都决定了Lua是作为嵌入式脚本的最佳选择。

IDE

intellij idea安装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是一种区分大小写的语言

and是一个保留词,但是And和AND是两个不同的有效名称。按照惯例,名称以下划线开头,后面跟着大写字母(比如_VERSION),保留给Lua使用的内部全局变量。

以下字符串表示其他tokens:

 +     -     *     /     %     ^     #
 ==    ~=    <=    >=    <     >     =
 (     )     {     }     [     ]
 ;     :     ,     .     ..    ...

字面值字符串可以通过匹配单引号或双引号来分隔,并且可以包含以下类似c的转义序列:‘\a’ (bell), ‘\b’ (backspace), ‘\f’ (form feed), ‘\n’(换行),‘\r’(回车),‘\t’(水平制表符),‘\v’(垂直制表符),‘\’(反斜杠),‘"’(引号[双引号])和’"(撇号[单引号])。此外,反斜杠后面跟一个真正的换行符会在字符串中产生一个换行符。字符串中的字符也可以通过使用转义序列\ddd的数值来指定,其中ddd是一个最多由三个十进制数字组成的序列。(注意,如果一个数字转义后面要跟一个数字,那么它必须精确地用三个数字表示。)Lua中的字符串可以包含任何8位值,包括嵌入的零,可以指定为’\0’。

字面值字符串也可以使用用长括号括起来的长格式来定义。我们定义n级的开始长括号为一个开始方括号后面跟着n个等号,后面跟着另一个开始方括号。因此,第0级的开始长括号写成[[,第1级的开始长括号写成[=[,以此类推。结束长括号的定义类似;例如,第4级的结束长括号写成[====]。长字符串以任意级别的开始长括号开始,并以同一级别的第一个结束长括号结束。这种带括号形式的字面量可以运行几行,不解释任何转义序列,并且忽略任何其他级别的长括号。它们可以包含除了适当级别的右括号以外的任何内容。

     a = 'alo\n123"'
     a = "alo\n123\""
     a = '\97lo\10\04923"'
     a = [[alo
     123"]]
     a = [==[
     alo
     123"]==]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/509755.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue3+electron开发桌面软件(9)——选中多个文件,右键上传

系列文章目录 系列第一篇&#xff1a; vue3electron开发桌面软件入门与实战&#xff08;0&#xff09;——创建electron应用 文章目录 系列文章目录前言一、我们如何思考二、解决问题1.选择方案2. 发现electron多开窗口监听3.查找可使用的官方参数4.示例代码 总结 前言 从本系…

Docker 安全及日志管理

Docker 安全及日志管理 Docker 容器与虚拟机的区别隔离与共享性能与损耗 Docker 存在的安全问题Docker 自身漏洞Docker 源码问题Docker 架构缺陷与安全机制Docker 安全基线标准 容器相关的常用安全配置方法容器最小化Docker 远程 API 访问控制重启 Docker在宿主机的 firewalld …

ASEMI代理ADI亚德诺ADXL345BCCZ-RL7车规级芯片

编辑-Z ADXL345BCCZ-RL7特点&#xff1a; 超低功率&#xff1a;在测量模式下低至23A 在VS2.5 V的待机模式下为0.1A&#xff08;典型&#xff09; 功耗会随带宽自动调整 用户可选分辨率 固定的10位分辨率 全分辨率&#xff0c;其中分辨率随着g范围的增加而增加&#xff0…

00后才是内卷之王,被卷的头皮发麻....

都说00后躺平了&#xff0c;但是有一说一&#xff0c;该卷的还是卷。这不&#xff0c;前段时间我们公司来了个00年的&#xff0c;工作没两年&#xff0c;跳槽到我们公司起薪18K&#xff0c;都快接近我了。后来才知道人家是个卷王&#xff0c;从早干到晚就差搬张床到工位睡觉了。…

Redis主从复制(搭建集群的一种方式)【故障转移,内存,回收】

做一个伪集群 配置文件&#xff1a; daemonize yes port 7777 logfile .redis-7777.log dir ./ bind 0.0.0.0启动6666 and 7777 现在设置主从表 但是有个问题我把服务器停掉 关系就会解除 还可以手动解除 slaveof no one 命令 配置Sentinel&#xff08;哨兵&#…

基于络达SOC AB1562A TWS蓝牙耳机设计

V hezkz17进数字音频答疑 一 原理框图 二 电子电路设计 (1)SOC主芯片 (2) 最小系统晶振电路设计26MHZ (3) 电池电路设计 4 充电电路与充电保护设计 5 LED输出电路设计</

hexo stellar设置目录跳转记录

1. 使用hexo-toc插件 一开始使用的是hexo-toc的插件&#xff1a;参考hexo安装toc插件 详细的可以看github的项目&#xff1a; github-hexo-toc 更加详细的配置&#xff1a; Hexo添加Toc支持&#xff0c;生成文章目录 2. 官网的方式&#xff08;推荐&#xff09; stellar博…

flink cdc原理与使用

flink cdc原理与使用 1 cdc 介绍1.1 cdc简介与对比1.2 基于日志的 CDC 方案介绍 2 基于 Flink SQL CDC 的数据同步方案实践2.1 案例 1 : Flink SQL CDC JDBC Connector2.2 案例 2 : CDC Streaming ETL2.3 案例 3 : Streaming Changes to Kafka 3 Flink SQL CDC 的更多应用场景…

Java EE企业级应用开发(SSM)第10章

第10章MyBatis核心配置及动态SQL 一.预习笔记 1.第九章的细节处理 1-1.mappers标签中的配置 1-2.jdbc属性文件的配置 1-3.包的别名配置 2.Mybatis核心配置文件 2-1&#xff1a;settings标签&#xff08;P145-146中的表10-1&#xff09; 2-2.类型别名 3.Mybatis映射文件 3-1…

项目集管理绩效领域

项目集管理绩效领域是对活动或职能相关领域的补充分组&#xff0c;这些活动或职能在项目集管理工作的 整个范围内&#xff0c;专门描述和区分一个绩效领域中的活动。 本章包括&#xff1a; 项目集管理绩效领域的定义项目集管理绩效领域的交互组织战略、项目组合管理和项目集管…

vue 水印组件

效果图展示 Watermark 参数说明类型默认值版本width水印的宽度&#xff0c;content 的默认值为自身的宽度number120height水印的高度&#xff0c;content 的默认值为自身的高度number64rotate水印绘制时&#xff0c;旋转的角度&#xff0c;单位 number-22zIndex追加的水印元素…

24.eslint

eslint是约束代码写法的插件&#xff0c;比如组件的命名必须要用驼峰命名这种 eslint官网 检测并修复 JavaScript 代码中的问题。 - ESLint - 插件化的 JavaScript 代码检查工具 目录 1 vue-cli的eslint 2 标准规则 2.1 不能连续出现两个空行 2.2 结尾必须有空行 2.3…

深入了解Dubbo SPI 工作机制——@Activate (5)

在上一篇Dubbo 基于xml文件分析主流程源码 &#xff08;4&#xff09;_chen_yao_kerr的博客-CSDN博客中, 我们已经初步了解了Dubbo SPI的 key - value 结构。接下来将会继续分享Dubbo SPI其他功能的使用方式&#xff0c;并且从源码的角度去一谈究竟。 Activate注解 参数名 …

【数据结构】链表OJ:力扣141.环形链表、142.环形链表II

今天要分享的关于链表的题目是环形链表 目录 题目141. 环形链表 - 力扣&#xff08;LeetCode&#xff09; 题解 关于快慢指针的深入研究 题目2&#xff1a;142. 环形链表 II - 力扣&#xff08;LeetCode&#xff09; 题解 以下是题目链接 141. 环形链表 - 力扣&#xff…

塑料回收---未来化工行业的新兴增长领域

大量的旧塑料被浪费 从南极洲到北极&#xff0c;在原始海岸线上冲刷的塑料废物&#xff0c;以及太平洋上巨大的塑料废物浮岛&#xff0c;得到了媒体的广泛报道&#xff0c;并促成了消费者消费意识发生转变。 研究表明&#xff0c;大多数废旧塑料被送往垃圾填埋场和焚烧&#…

Go语言设计模式之责任链模式

其实很多人不知道,责任链模式是我们工作中经常遇到的模式,特别是web后端工程师,我们工作中每时每刻都在用:因为市面上大部分的web框架的过滤器基本都是基于这个设计模式为基本模式搭建的。 1.模式介绍 我们先来看一下责任链模式(Chain Of Responsibility Design Pattern…

react实现点击获取json对象的jsonPath

准备 安装 react-json-view&#xff1a;npm install --save react-json-view 可参考的一些开源库&#xff1a;react-json-path-picker&#xff0c;json-path-picker 线上工具&#xff1a;jsonpath tool JsonPath JsonPath官方文档 用来解析多层嵌套的json数据。JsonPath 是一…

8分钟的面试,我直呼太变态了......

干了两年外包&#xff0c;本来想出来正儿八经找个互联网公司上班&#xff0c;没想到算法死在另一家厂子。 自从加入这家外包公司&#xff0c;每天都在加班&#xff0c;钱倒是给的不少&#xff0c;所以也就忍了。没想到11月一纸通知&#xff0c;所有人不许加班&#xff0c;薪资…

08 FPGA—计数器与分频器的应用

1. 理论 时序逻辑电路中最基本的单元—寄存器&#xff0c;我们可以使用寄存器来做计数器。基本上关于时间的设计都离不开计数器。 计数器在数字系统中主要是对脉冲的个数进行计数&#xff0c;以实现测量、计数和控制的功能&#xff0c;同时兼有分频功能。计数器一般都是从 0 开…

JSON-框架的具体使用

JSON-框架的具体使用 非 SpringBoot 项目 Jackson Jackson 是另一个流行的JSON序列化和反序列化库&#xff0c;具有以下特点 速度快&#xff1a;Jackson 采用了高效的JSON解析算法和字节码生成技术&#xff0c;使得其序列化和反序列化速度非常快。支持全类型序列化&#xff1…