概述§

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