REPL
ptool repl 会启动一个交互式 Lua 会话,并预先加载标准 ptool API。
启动 REPL
ptool repl
REPL 启动后,ptool 会先打印欢迎信息,然后等待 Lua 输入。
它提供什么
- 全局表
ptool以及更短的别名p。 - 与
ptool run <file>相同的一组内置辅助能力。 - 对 Lua 表达式和语句的交互式求值。
- 类似 readline 的行编辑能力,包括方向键移动光标和当前会话内的历史记录浏览。
基本用法
输入一个表达式即可立即求值:
1 + 2
REPL 会使用 ptool 现有的 inspect 渲染逻辑打印返回值。
你也可以直接调用 ptool API:
p.str.trim(" hello ")
多行输入
如果当前输入还不完整,提示符会从 >>> 变成 ... 。这样你就可以继续输入
函数定义或控制流语句等代码块:
for i = 1, 3 do
print(i)
end
当输入完整后,ptool 会对整个代码块求值。
键盘行为
Up和Down用于浏览当前 REPL 会话中之前输入过的命令。Left和Right用于在当前输入行内移动光标。Ctrl-C会清空当前输入;如果你正处于多行输入中,它会丢弃当前缓存的代码块并回到主提示符。Ctrl-D会退出 REPL。
说明
ptool repl需要交互式 TTY。- 当前历史记录只保存在本次会话中,不会写入历史文件。