类 IRB::EvalHistory

表示之前执行命令的结果历史记录。

可以通过 __ 变量访问,前提是 IRB.conf[:EVAL_HISTORY]IRB::CurrentContext().eval_history 为非空整数(默认情况下为 nil)。

示例(在 'irb' 中)

# Initialize history
IRB::CurrentContext().eval_history = 10
# => 10

# Perform some commands...
1 + 2
# => 3
puts 'x'
# x
# => nil
raise RuntimeError
# ...error raised

# Inspect history (format is "<item number> <evaluated value>":
__
# => 1 10
# 2 3
# 3 nil

__[1]
# => 10

公共实例方法

[](idx) 点击切换源代码

获取内容中的一个项目(正负索引均有效)。

# File lib/irb/ext/eval_history.rb, line 107
def [](idx)
  begin
    if idx >= 0
      @contents.find{|no, val| no == idx}[1]
    else
      @contents[idx][1]
    end
  rescue NameError
    nil
  end
end