找回密码
马上加入

QQ登录

只需一步,快速开始

搜索
发新帖

0

收听

2

听众

108

主题
发表于 2024-6-20 23:43:22 | 查看: 465| 回复: 1
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 的基础库有所帮助。
下一篇文章将介绍 Lua 的其他常用库,敬请期待。

Lua 常用库系列:第二篇【文件操作库】
发表于 2024-9-3 01:21:47 IP属地:浙江省宁波市慈溪市

学习了,感谢大佬

回复 显示全部楼层 道具 举报

您需要登录后才可以回帖 登录 | 马上加入

QQ|Archiver|手机版|小黑屋|alg阿灵戈社区 ( 苏ICP备2023026137号-1|苏ICP备2023026137号-1 )

GMT+8, 2025-3-12 18:54 , Processed in 0.702816 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表