我有一个递归对象(Cucumber :: Rails :: World.scenario),我想检查它(为了找到属于当前场景的标签)。 scenario.inspect
永远不会完成,pp scenario
打印得如此之快,以至于即使使用快速系列的 Ctrl - c ,它也会填充大约三千行。如何限制输出?
答案 0 :(得分:3)
使用pretty_inspect
将其作为字符串,然后只获取前n个字符:
pp_output = scenario.pretty_inspect; nil
puts pp_output[0..n]; nil
请注意,尾随nil
会导致IRb显示返回值nil
而不是整个对象,从而大幅清除输出。
为了获得更大的灵活性,请将其保存到文件中:
File.open "pp-output.txt", "w" do |f|
f.puts scenario.pretty_inspect
end
然后在您选择的寻呼机中查看:
$ less pp-output.txt
答案 1 :(得分:0)
在某些点(gets
的小块之间)插入pp
。然后,您可以通过在每个块之后输入输入来慢慢浏览它们。