当前位置: 首页> 汽车> 时评 > 公司网站备案需要什么_广西建设人力资源网_百度快照怎么用_如何找做网站的公司

公司网站备案需要什么_广西建设人力资源网_百度快照怎么用_如何找做网站的公司

时间:2025/7/19 23:00:54来源:https://blog.csdn.net/LL123412138/article/details/146062650 浏览次数: 0次
公司网站备案需要什么_广西建设人力资源网_百度快照怎么用_如何找做网站的公司

目录

  • lua语法
    • 安装(linux)
    • 注释
    • 标识符
    • 变量
    • 循环
    • 条件
    • 函数
    • 运算符
    • 字符串操作
    • table操作
    • 模块
  • kamailio+lua
    • 使用方法
    • kamailio路由和lua函数对应关系
    • core函数

lua语法

学习教程来自菜鸟,当然网上也有很多其他的教程。这里只是记录一些我觉得比较重要的点

安装(linux)

下载源码包,终端解压编译
sudo apt update
sudo apt install lua5.3

注释

– (单行注释:两个连字符,也就是两个减号)
–[[ ]]-- (多行注释)

标识符

字母、数字和下划线(不支持数字开头,下划线和大写字母也最好不用),区分大小写

变量

不需要声明,直接使用。非nil即存在,赋nil即删除。
type函数查看类型
变量只要没有local就是全局,local还可以标识局部函数
基本类型:nil、boolean、number、string、userdata、function、thread 和 table

  • nil:条件表达式中等同于false
  • boolean:false、true
  • number:双精度实浮点
  • function:c或者lua编写函数
  • userdata:储存在变量中的c数据结构
  • string:单双引号都可以。[]可以表示多行。#加字符串计算长度,两点表示连接字符串。也可以使用string.len\utf8.len(中文)
  • table:关联数组,索引可以是数字、字符串或表结构。初始索引从1开始,长度自动增长,可以使用[]或者.访问
  • function:支持匿名函数

循环

while,for,repeat-until
break
goto

  • label的格式为 :: label ::(后面可以直接接语句)

条件

if then,else,end
0也为真,只有false或者nil为假

函数

没有local就是全局
可变参数 …,函数内使用select(‘#’,…)可获取可变参数的数量、select(n,…)返回n开始的参数

运算符

算数:+ - * / % ^ //(整除)
关系:== ~=(不等于) > < >= <=
逻辑:and or not
优先级

  • ^
  • not - (unary)
  • *(乘) / %
  • +(加) -
  • < > <= >= ~= ==
  • and
  • or

字符串操作

string.upper , string.lower, string.gsub(替换), string.find, string.reverse, string.format, string.char, string.byte, string.len, string.rep(n个拷贝), string.gmatch(查找符合pattern的子串,返回迭代器), string.match, string.sub

table操作

table.contact, table.insert, table.maxn, table.remove, table.sort

模块

模块就是一个table。把需要到处的常量和函数都放进去table就行。文件最后返回这个table
加载使用require (require()/require “”)。

lua语言还是很全面,还有元表、协同程序、调试等。通过table+元表还能实现面向对象

kamailio+lua

kamailio支持嵌入其他语言(按照官方的说法,嵌入其他语言就是使用别的语言去写路由块处理的那些函数)。
如果要使用lua语言来编写路由逻辑模块,需要加载app_lua模块。目前支持lua版本:5.1、5.2、5.3、5.4

下面的介绍都是来自官方文档

使用方法

采用cfg+lua的方式。cfg文件中定义全局参数、导入运行需要的模块、模块的参数设置等,通过下面的配置,加载lua文件中定义的路由逻辑
# 导入kamailio模块
loadmodule "app_lua.so"
# 设置lua文件
modparam("app_lua", "load", "/path/to/script.lua")
# 执行lua文件
cfgengine "lua"
  • 在lua文件中KSR标识导出kamailio功能的对象。只要是在cfg文件中导入的模块,在lua文件中使用KSR.模块名.函数名来调用,使用方法都和cfg文件中的相同。
  • kamailio的core中的函数也能使用KSR.函数

kamailio路由和lua函数对应关系

  • request_route -> ksr_request_route
  • reply_route -> ksr_reply_route
  • onsend_route -> ksr_onsend_route
  • exit -> KSR.x.exit
  • drop -> KSR.x.drop

core函数

  • core函数:官方文档
关键字:公司网站备案需要什么_广西建设人力资源网_百度快照怎么用_如何找做网站的公司

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: