lua语法介绍

1、快速入门

创建hello.lua文件,内容为

print("hello");

保存。执行命令

lua helloworld.lua

输出为:

hello 

2、LUA的基本语法

  • lua有交互式编程和脚本式编程。
  • 交互式编程就是直接输入语法,就能执行。
  • 脚本式编程需要编写脚本文件,然后再执行。

一般采用脚本式编程。(例如:编写一个hello.lua的文件,输入文件内容,并执行lua hell.lua即可)

2.1、注释

单行注释:两个减号是单行注释:

 --

多行注释:

--[[

 多行注释

 多行注释

 --]]

2.2、关键字

关键字就好比java中的 break if else等等一样的效果。lua的关键字如下:

andbreakdoelse
elseifendfalsefor
functionifinlocal
nilnotorrepeat
returnthentrueuntil
while

2.3、定义变量

全局变量,默认的情况下,定义一个变量都是全局变量,

如果要用局部变量 需要声明为local.例如:

-- 全局变量赋值

a=1

-- 局部变量赋值

local b=2 

如果变量没有初始化:则 它的值为nil 这和java中的null不同。 

2.4、Lua中的数据类型

Lua 是动态类型语言,变量不要类型定义,只需要为变量赋值。 值可以存储在变量中,作为参数传递或结果返回。

Lua 中有 8 个基本类型分别为:nil、boolean、number、string、userdata、function、thread 和 table。

数据类型描述
nil这个最简单,只有值nil属于该类,表示一个无效值(在条件表达式中相当于false)。
boolean包含两个值:false和true。
number表示双精度类型的实浮点数
string字符串由一对双引号或单引号来表示
function由 C 或 Lua 编写的函数
userdata表示任意存储在变量中的C数据结构
thread表示执行的独立线路,用于执行协同程序
tableLua 中的表(table)其实是一个"关联数组"(associative arrays),数组的索引可以是数字、字符串或表类型。在 Lua 里,table 的创建是通过"构造表达式"来完成,最简单构造表达式是{},用来创建一个空表。

2.5、流程控制 

如下:类似于if else 

--[ 0 为 true ]
if(0) then
    print("0 为 true")
else
    print("0 不为true")
end

2.6、函数 

lua中也可以定义函数,类似于java中的方法。例如: 

--[[ 函数返回两个值的最大值 --]]
function max(num1, num2)
​
   if (num1 > num2) then
      result = num1;
   else
      result = num2;
   end
​
   return result; 
end
-- 调用函数
print("两值比较最大值为 ",max(10,4))
print("两值比较最大值为 ",max(5,6))

 执行之后的结果:

两值比较最大值为     10

两值比较最大值为     6

2.7、require 函数

require 用于 引入其他的模块,类似于java中的类要引用别的类的效果。

用法:

require "<模块名>"

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要在Scintilla中设置Lua语法,您需要执行以下步骤: 1. 下载Scintilla的最新版本,并将其解压缩到您的本地计算机上。 2. 下载Lua语法文件(例如,lua.api)并将其放置在Scintilla目录下。 3. 打开Scintilla目录中的SciTEGlobal.properties文件并添加以下行: ``` file.patterns.lua=*.lua lexer.$(file.patterns.lua)=lua ``` 4. 打开Scintilla目录中的lexers\Lua.properties文件并将其设置为以下内容: ``` # Lua lexer settings lexer.$(file.patterns.lua)=5 lexer.$(file.patterns.lua).keywords=and break do else elseif end false for function if in local nil not or repeat return then true until while lexer.$(file.patterns.lua).lexer.lpeg=lua lexer.$(file.patterns.lua).comment.line=-- lexer.$(file.patterns.lua).comment.box=--[[ ]] # Indentation settings statement.indent.$(file.patterns.lua)=1 block.start.$(file.patterns.lua)=1 block.end.$(file.patterns.lua)=-1 indent.opening.$(file.patterns.lua)=[(=*\[[ indent.closing.$(file.patterns.lua)=[)=*\]] ``` 5. 打开Scintilla目录中的properties\lua.properties文件并将其设置为以下内容: ``` # Lua properties filter.lualint=$(SciteDefaultHome)\tools\lualint.exe|*.lua|$(SciteDefaultHome)\tools\luac.exe|*.lua command.compile.*.lua=$(SciteDefaultHome)\tools\luac.exe $(FileNameExt) command.build.*.lua=$(SciteDefaultHome)\tools\lualint.exe $(FileNameExt) ``` 6. 保存文件并重新启动Scintilla。 现在,Scintilla将自动识别并高亮显示以.lua结尾的文件,并使用Lua语法进行解析。您还可以使用Scintilla的其他功能,例如自动缩进和代码折叠。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

悠然予夏

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

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

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

打赏作者

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

抵扣说明:

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

余额充值