"p"和"pp"有什么区别?

sli*_*000 25 ruby

我做了一些搜索,但找不到简单问题的答案.

Ruby pppRuby有什么区别?我知道你需要require 'pp'.除此之外有什么区别?

gio*_*ele 30

p用于检查变量作为调试助手.它可以打印方法的输出#inspect.例如,p foo将输出内容foo.inspect.

有时您需要调试复杂变量或嵌套变量.在这种情况下,p将输出一条难以理解的长行.相反,pp将尝试安排变量的内容,以便更容易理解,例如缩进嵌套数组或对复杂对象的每个实例变量使用一行.pp这是否调用该#pretty_inspect方法(该pp库将#pretty_inspect方法添加到许多类,如String,ArrayStruct).

要记住:p=打印,pp=漂亮的打印.


Gaz*_*ler 5

它们略有不同。

data = [false, 42, %w{fourty two}, {:now => Time.now, :class => Time.now.class, :distance => 42e42}]
p data
  [false, 42, ["fourty", "two"], {:now=>2012-01-25 19:23:06 +0000, :class=>Time, :distance=>4.2e+43}]
pp data
  [false,
   42,
   ["fourty", "two"],
   {:now=>2012-01-25 19:23:06 +0000, :class=>Time, :distance=>4.2e+43}]
Run Code Online (Sandbox Code Playgroud)

请注意:我从一个站点窃取了测试数据,该数据显示了pp和gem之间差异