“Lua基础”的版本间的差异

来自linux中国网wiki
跳到导航 跳到搜索
第60行: 第60行:
 
再加上有ngx lua模块,ngx天然为Lua提供了web容器的接口,可以做更多容器的事情,例如:
 
再加上有ngx lua模块,ngx天然为Lua提供了web容器的接口,可以做更多容器的事情,例如:
 
防刷,身份验证等等 </pre>
 
防刷,身份验证等等 </pre>
 +
=进阶=
 +
[https://www.zhihu.com/question/20617406 如何学习 Lua VM 的源码]
 +
 
=see also=
 
=see also=
  

2020年2月11日 (二) 09:37的版本

install


#os kali 2017
sudo apt install   lua5.1

on freebsd12

运行

evan@bsd-latop:~ % lua52
Lua 5.2.4  Copyright (C) 1994-2015 Lua.org, PUC-Rio
> print("hello,world")
hello,world


把脚本存成一个文件

evan@bsd-latop:~/test % cat hello.lua
#!/usr/local/bin/lua52
print("Hello, World")
evan@bsd-latop:~/test % chmod +x hello.lua
evan@bsd-latop:~/test % ./hello.lua
Hello, World

控制语句

 ./h.lua
sum =	5050

evan@bsd-latop:~/test % cat h.lua
#!/usr/local/bin/lua52
sum = 0
num = 1
while num <= 100 do
    sum = sum + num
    num = num + 1
end
print("sum =",sum)


if-else分支 

函数

函数前面加上local就是局部函数

Table

Lua的下标不是从0开始的,是从1开始的



优点

除了游戏外,也适用于app api。
ngx+lua+redis 架构模式在高并发的情况下完胜 ngx+php-fpm+php。
再加上有ngx lua模块,ngx天然为Lua提供了web容器的接口,可以做更多容器的事情,例如:
防刷,身份验证等等 

进阶

如何学习 Lua VM 的源码

see also

LUA简明教程