概述§
REPL
是一个交互式的 Raku 提示符。您在 REPL
中输入的每一行代码都会被执行,如果未生成任何输出,则会输出表达式返回的值。
陷阱§
注意:在 REPL
中运行代码与将代码保存在文件中并运行该文件并不等效。每一行都会引入一个新的作用域,这可能会使包含多行的代码感到困惑。有关在较大的脚本中定位 REPL 的方法,请参见下面的 sub repl()
。
非交互模式§
如果从命令行使用raku --repl-mode=non-interactive
调用,则不会打印任何历史记录或提示,并且代码在您关闭输入之前不会执行(例如,在 Linux 上,您可以将代码管道到它或按Control-d
)。
$ echo "say 3" | raku --repl-mode=non-interactive
3
sub repl()§
此例程允许您在更大的脚本中嵌入 REPL,并访问上下文中的所有变量。
有关更多信息,请参阅独立例程中的sub repl()。
环境变量§
请参阅环境变量。
获取命令行历史记录§
在全新安装中,没有命令历史记录。在这种模式下运行REPL
将提示您安装提供此支持的各种模块之一。如果已启用,您可以使用箭头键滚动浏览以前的命令,并使用标准终端快捷键进行编辑。目前有四个选项
1
zef install Terminal::LineEditor
2
zef install Linenoise
这需要一个可用的C
工具链。
3
zef install Readline
这需要安装Readline
开发库。
4
对于类 Unix 系统,另一种选择是安装rlwrap
。这可以在 Debian 类系统上通过运行以下命令来完成
sudo apt-get install rlwrap
然后使用它来调用REPL
rlwrap raku