You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Ruby交互式REPL显示连续命令的所有执行结果?

让Ruby irb显示所有表达式执行结果的配置方法

有两种常用方式可以实现让irb显示每一行表达式的执行结果:

方法一:修改irb全局配置文件

编辑用户目录下的.irbrc文件(如果没有就新建一个),添加以下代码:

# 自定义提示符(可选,保持默认也可正常运行)
IRB.conf[:PROMPT][:CUSTOM] = {
  :PROMPT_I => ">> ",
  :PROMPT_N => "|  ",
  :PROMPT_S => "%l> ",
  :PROMPT_C => "|  ",
  :RETURN => "=> %s\n"
}
IRB.conf[:PROMPT_MODE] = :CUSTOM

# 重写求值逻辑,自动输出每个表达式结果
module IRB
  class Context
    def evaluate(line, line_no, exception: nil)
      value = super
      # 跳过空行,避免无效输出
      unless line.strip.empty?
        puts IRB.conf[:PROMPT][IRB.conf[:PROMPT_MODE]][:RETURN] % value.inspect
      end
      value
    end
  end
end

保存后重启irb,后续每一行表达式的结果都会自动显示。

方法二:启动irb时使用--echo选项

无需修改配置,直接在终端执行以下命令启动irb:

irb --echo

进入irb后,每执行一行表达式都会立即输出结果,示例如下:

>> a = "hello"
=> "hello"
>> b = "world"
=> "world"
>> a
=> "hello"
>> b
=> "world"

这种方式适合临时需要该功能的场景,不会影响全局配置。

如果只是偶尔查看单行结果,也可以用p方法手动输出,比如p a,但这不属于自动配置范畴。

内容的提问来源于stack exchange,提问作者stevec

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 23:42:33