pp不在ruby文件上工作

pp不在ruby文件上工作,ruby,fold,perl-packager,Ruby,Fold,Perl Packager,如何让pp按照文档中的说明将行长度包装(限制)到79个字符? 下面的示例演示了pp并没有将输出限制为文档中所述的默认长度79 (1) 将以下代码放入一个文件(pprfile.rb) (2) 将Github打字错误repo和cd克隆到repo目录中 (3) 运行以下命令行: pprfile.rb\“管理/仪表板\”,:操作=>\“索引” 94“self.current_user=user.authenticate(参数[:user][:login],参数[:user][:password]

如何让pp按照文档中的说明将行长度包装(限制)到79个字符?

下面的示例演示了pp并没有将输出限制为文档中所述的默认长度79

  • (1) 将以下代码放入一个文件(pprfile.rb)
  • (2) 将Github打字错误repo和cd克隆到repo目录中
  • (3) 运行以下命令行:
    • pprfile.rb<./app/controllers/accounts_controller.rb|awk'长度($0)>79{打印长度($0),$0}'
  • (4) 我希望所有的输出行都限制在小于或等于79个字符的范围内,但以下是我得到的输出:

    89“重定向回”或“默认:控制器=>\“管理/仪表板\”,:操作=>\“索引”
    94“self.current_user=user.authenticate(参数[:user][:login],参数[:user][:password])”
    82“self.current\u user.记住我,除非self.current\u user.记住\u令牌?”
    82“将用户添加到Cookie(:键入用户配置文件,self.current用户配置文件标签“/”)”
    91“重定向回”或“默认值:控制器=>\“管理/仪表板\”,:操作=>\“索引”
    80“@page_title=\”{this_blog.blog_name}-{('Recover your password')}”
    124“@user=user.find(:first,:conditions=>[\“login=?或email=?\”,params[:user][:login],params[:user][:login]])”
    108“flash[:notice]=\(\“已使用新密码成功将电子邮件发送到您的地址\”)
    88“如果User.count==0,则重定向到(:controller=>\“accounts\”,:action=>\“signup\”)
    92“重定向到:controller=>\“setup\”,:action=>\“index\”如果!这个日志。配置了吗

我猜是因为“pp”只在原子数据元素之间断裂,而不在它们内部断裂。原子元素应为非复合类型(例如字符串、符号、数字等)

也就是说,如果您有一个数组,其序列化的元素将超过79列,那么“pp”将使用元素之间的换行符序列化该数组。但是,如果其中一个元素是100个字符的字符串,那么该元素将按原样序列化,可能是因为“pp”不想决定在何处中断该“原子”元素

考虑:

pp(Array.new(100,'foo'))\

pp('x'*100)#=>没有输入样本和输出的样子,我们在猜测问题。铁皮人:这个例子有用吗?
#!/usr/bin/env ruby
require 'pp'
STDIN.read.split("\n").each do |l|
  PP.pp(l)
end
89 "      redirect_back_or_default :controller => \"admin/dashboard\", :action => \"index\""
94 "      self.current_user = User.authenticate(params[:user][:login], params[:user][:password])"
82 "          self.current_user.remember_me unless self.current_user.remember_token?"
82 "        add_to_cookies(:typo_user_profile, self.current_user.profile_label, '/')"
91 "        redirect_back_or_default :controller => \"admin/dashboard\", :action => \"index\""
80 "    @page_title = \"#{this_blog.blog_name} - #{_('Recover your password')}\""
124 "      @user = User.find(:first, :conditions => [\"login = ? or email = ?\", params[:user][:login], params[:user][:login]])"
108 "        flash[:notice] = _(\"An email has been successfully sent to your address with your new password\")"
88 "    redirect_to(:controller => \"accounts\", :action => \"signup\") if User.count == 0"
92 "    redirect_to :controller => \"setup\", :action => \"index\" if  ! this_blog.configured?"</li>