输入输出与文件操作
Lua 提供了丰富的 标准输入输出(I/O) 接口和文件操作函数,使脚本可以与用户交互或处理外部文件。
🖥️ 标准输出:print
print("Hello, Lua!")
print("数字:", 123)
`
⌨️ 标准输入:io.read
print("请输入你的名字:")
local name = io.read() -- 默认读取一行
print("你好," .. name)
io.read("*n")读取一个数字io.read("*l")读取一行(默认)io.read("*a")读取整个文件或输入流
📄 文件操作
Lua 使用 io.open 打开文件,file:read 和 file:write 操作文件内容。
-- 打开文件写入
local file = io.open("test.txt", "w")
file:write("Hello Lua\n")
file:close()
-- 读取文件
local f = io.open("test.txt", "r")
local content = f:read("*a") -- 读取整个文件
f:close()
print(content) -- 输出:Hello Lua
文件模式说明
| 模式 | 含义 |
|---|---|
"r" |
只读(文件必须存在) |
"w" |
只写(会清空已有内容) |
"a" |
追加写入 |
"r+" |
读写(文件必须存在) |
"w+" |
读写(清空文件) |
"a+" |
读写(追加写入) |
🔢 文件逐行读取
local f = io.open("test.txt", "r")
for line in f:lines() do
print(line)
end
f:close()
📐 字符串格式化
local name = "Alice"
local score = 95
print(string.format("%s 的分数是 %d", name, score))
%s:字符串%d:整数%f:浮点数- 可配合
string.format输出复杂格式
🧠 小结
- 使用
print与io.read进行标准输入输出 - 文件操作通过
io.open,file:read,file:write完成 - 支持读取整行、整文件及逐行遍历
string.format可进行字符串格式化
相关内容
- Lua 高级技巧与优化 学习 Lua 的高级编程技巧,包括性能优化、内存管理、闭包、尾递归优化和元表高级用法。
- Lua 与 C 的交互 学习如何在 Lua 中调用 C 函数、在 C 中嵌入 Lua,实现 Lua 与 C 的混合编程。
- 流程控制 学习 Lua 中的条件判断、循环语句与控制关键字的用法,包括 if、while、for 与 repeat until。
- Lua 协程(Coroutine) 学习 Lua 协程的基本概念、创建方法、调度与应用,实现轻量级多任务和协作式并发。
- 函数 学习 Lua 中函数的定义与调用方式,掌握参数传递、返回值、可变参数与匿名函数等概念。
- Lua 简介 了解 Lua 的起源、设计理念及应用场景,掌握 Lua 语言的核心特征与优势。