3

我有一个递归对象(Cucumber::Rails::World.scenario),我想检查它(以便找到属于当前场景的标签)。scenario.inspect永远不会完成,并且pp scenario打印速度如此之快,即使是快速的一系列Ctrl-c它也填充了大约三千行。如何限制输出?

4

2 回答 2

3

用于pretty_inspect将其作为字符串获取,然后仅获取前 n 个字符:

pp_output = scenario.pretty_inspect; nil
puts pp_output[0..n]; nil

注意尾随nil的 s 导致 IRb 显示返回值nil而不是整个对象,这大大清理了输出。

为了获得更大的灵活性,请将其保存到文件中:

File.open "pp-output.txt", "w" do |f|
  f.puts scenario.pretty_inspect
end

然后在您选择的寻呼机中查看:

$ less pp-output.txt
于 2012-04-05T15:10:51.047 回答
0

在某些点插入gets(在小块之间pp)。然后,您可以通过在每个块后输入 enter 来慢慢浏览它们。

于 2012-04-05T15:07:49.890 回答