Lua 常用库系列:第一篇【基础库】 Lua 是一门轻量级、嵌入式的脚本语言,广泛应用于游戏开发、嵌入式系统、Web 开发等领域。在使用 Lua 进行开发时,熟练掌握 Lua 的常用库是提高开发效率的重要手段。本系列文章将介绍 Lua 常用库的使用方法和实用技巧,帮助你更好地利用 Lua 进行开发。 基础库概述Lua 提供了一组基础库,涵盖了字符串处理、数学运算、表操作、输入输出等常用功能。这些库无需额外安装,随 Lua 解释器一同提供,开箱即用。 一、字符串库(string)字符串库提供了一系列操作字符串的函数。以下是一些常用的字符串库函数: string.len(s):返回字符串 s 的长度。 string.sub(s, i, j):返回字符串 s 从位置 i 到 j 的子串。 string.find(s, pattern, init, plain):在字符串 s 中查找模式 pattern,返回匹配的起始和结束位置。 string.format(formatstring, ...):格式化字符串,类似于 C 语言中的 printf。 string.gsub(s, pattern, repl, n):在字符串 s 中将模式 pattern 替换为 repl,最多替换 n 次。
示例代码: local s = "Hello, Lua!"
print(string.len(s)) -- 输出: 11
print(string.sub(s, 1, 5)) -- 输出: Hello
print(string.find(s, "Lua")) -- 输出: 8 10
print(string.format("Number: %d", 123)) -- 输出: Number: 123
print(string.gsub(s, "Lua", "World")) -- 输出: Hello, World!二、数学库(math)数学库提供了各种数学运算函数。以下是一些常用的数学库函数: math.abs(x):返回 x 的绝对值。 math.ceil(x):返回大于等于 x 的最小整数。 math.floor(x):返回小于等于 x 的最大整数。 math.max(x, ...):返回参数中的最大值。 math.min(x, ...):返回参数中的最小值。 math.random([m [, n]]):返回一个随机数,如果提供了 m 和 n,返回 m 到 n 之间的随机整数。
示例代码: print(math.abs(-10)) -- 输出: 10
print(math.ceil(2.3)) -- 输出: 3
print(math.floor(2.8)) -- 输出: 2
print(math.max(1, 5, 3)) -- 输出: 5
print(math.min(1, 5, 3)) -- 输出: 1
print(math.random(1, 100)) -- 输出: 一个 1 到 100 之间的随机整数三、表库(table)表库提供了一些操作表(table)的函数。以下是一些常用的表库函数: table.insert(table, [pos,] value):在表的指定位置插入一个值。 table.remove(table, [pos]):移除并返回表中指定位置的值。 table.sort(table, [comp]):对表中的元素进行排序,可以提供一个比较函数。 table.concat(table, [sep [, i [, j]]]):连接表中的元素,使用指定的分隔符。
示例代码: local t = {1, 2, 3}
table.insert(t, 4) -- t 变为: {1, 2, 3, 4}
table.remove(t, 2) -- t 变为: {1, 3, 4}
table.sort(t, function(a, b) return a > b end) -- t 变为: {4, 3, 1}
print(table.concat(t, ", ")) -- 输出: 4, 3, 1四、输入输出库(io)输入输出库提供了文件操作和标准输入输出的功能。以下是一些常用的输入输出库函数: io.open(filename, mode):打开一个文件,返回文件句柄。 file:read(format):从文件中读取内容,可以指定读取的格式(如 *l 表示读取一行)。 file:write(...):向文件中写入内容。 file:close():关闭文件。
示例代码: local file = io.open("test.txt", "w")
file:write("Hello, Lua!")
file:close()
local file = io.open("test.txt", "r")
local content = file:read("*a")
print(content) -- 输出: Hello, Lua!
file:close()总结本文介绍了 Lua 基础库中的字符串库、数学库、表库和输入输出库的常用函数及其使用方法。这些基础库提供了丰富的功能,帮助开发者高效地完成各种常见任务。希望本文对你熟悉和掌握 Lua 的基础库有所帮助。 |