Nov 06 2025
aitaokedemiehuoqi -
Lua中設置table為只讀屬性的方法詳解
項目中部分只讀表易被人誤改寫,故決定在非線上環境裏對這些表附加只讀屬性,方便在出現誤改寫的時候拋出lua錯誤,最終版代碼如下:
--[[------------------------------------------------------------------------------
-** 設置table只讀 出現改寫會拋出lua error
-- 用法 local cfg_proxy
lua
Nov 06 2025
aitaokedemiehuoqi -
Nginx+lua 實現調用.so文件
最近在和智能硬件部門一起,做一個室內定位的服務,該服務根據手機端傳過來的beacon設備列表,根據一定的算法計算出具體的商場,並將商場ID和beason設備列表作為參數,調用.so文件中的計算方法,得出位置數據(座標:x、y、z),返回給手機端。
因為服務對QPS要求比較高,並且都是純查詢操作,於是決定使用Nginx+lua+Redis的架構(該架構在公司內部已成主流,比較成熟)。下面我將對lua
lua
Nov 06 2025
aitaokedemiehuoqi -
linux系統安裝Nginx Lua環境
亦可參考官方安裝指南: lua-nginx-module Installation
這是我總結的安裝,供參考:
需要最新版的Nginx,LuaJIT,ngx_devel_kit,lua-nginx-module等安裝文件:
Nginx
LuaJIT Lua或者LuaJIT都是可以的,但是出於性能的考慮,推薦安裝LuaJIT
ngx_devel_kit
lua-nginx-modu
lua
,
Linux
Nov 06 2025
aitaokedemiehuoqi -
Lua中string.lower()使用指南
前言
今天我們總結的函數也比較簡單,函數的作用的將所給字符串的中的大寫字母轉換成小寫字母,這種操作往往出現在比較操作之前,比如驗證碼通常都是不區分大小寫的,接下來我們一起看一下函數的用法。
內容
string.lower()
原型:string.lower(s)
解釋:接收一個字符串,然後返回一個將字符串中大寫字母轉化為小寫字母的字符串副本,除此之外其他字符都不會被改變,大寫字母
lua
Nov 06 2025
aitaokedemiehuoqi -
使用Lua編寫Web端模板引擎的實例代碼分享
ltemplate.lua
local insert = table.insert
local remove = table.remove
local concat = table.concat
local format = string.format
local loaded = {}
local partten = "(.-){#([^#].-[^#])#}()"
local cont
lua
Nov 06 2025
aitaokedemiehuoqi -
Lua中基本的數據類型、表達式與流程控制語句講解
Lua類型
1.1 基本類型
Lua是一種動態類型語言,沒有類型定義的語法。Lua一共有8種基礎類型:nil(空)、boolean(布爾)、number(數字)、string(字符串)、userdata(自定義類型)、function(函數)、thread(線程)、table(表)。
函數type可根據一個值返回其類型名稱(字符串),如print(type(print)),輸出“f
lua
Nov 06 2025
aitaokedemiehuoqi -
解析Lua中的全局環境、包、模塊組織結構
模塊就是一個程序庫,而包是一系列模塊。Lua中可以通過require來加載模塊,然後得到一個全局變量表示一個table。Lua將其所有的全局變量保存在一個被稱為“環境”的常規table中。本文首先介紹環境的一些實用技術,然後介紹如何引用模塊及編寫模塊的基本方法。
環境
Lua將環境table保存在一個全局變量_G中,可以對其訪問和設置。有時我們想操作一個全局變量,而它的名稱卻存儲在另
lua
Nov 06 2025
aitaokedemiehuoqi -
深入解讀Lua中迭代器與泛型for的使用
泛型for原理
迭代器是一種可以遍歷集合中所有元素的機制,在Lua中通常將迭代器表示為函數,每調用一次函數,就返回集合中“下一個”元素。每個迭代器都需要在每次成功調用之間保持一些狀態,這樣才能知道它所在的位置及如何步進到下一個位置,closure就可以完成此項工作。下面的示例是列表的一個簡單的迭代器:
function values(t)
local i = 0
return function
lua
Nov 06 2025
aitaokedemiehuoqi -
Lua中函數與面向對象編程的基礎知識整理
函數
基礎知識
調用函數都需要寫圓括號,即使沒有參數,但有一種特殊例外:函數若只有一個參數且參數是字面字符串或table構造式,則圓括號可有可無,如dofile 'a.lua',f{x=10, y=20}。
Lua為面向對象式的調用提供冒號操作符的特殊語法,如o.foo(o, x)等價於o:foo(x)。和Javascript類似,調用函數時提供的實參數量可以與形參數量不同,若實參
lua