Не можете pp (красивая печать) в fxri?(Рубин) - PullRequest
1 голос
/ 30 июля 2010

Вот небольшая копия / вставка из fxri.Почему это происходит и как мне это исправить?Рубиновая версия есть; ruby ​​1.8.6 (2008-08-11 patchlevel 287) [i386-mswin32] в 64-битных окнах 7.

irb(main):334:0> pp "a"
NoMethodError: undefined method `<<' for #<FXIrb:0x6229524>
from ..../Ruby/lib/ruby/1.8/prettyprint.rb:146:in `text'
from ..../Ruby/lib/ruby/1.8/prettyprint.rb:198:in `group'
from ..../Ruby/lib/ruby/1.8/pp.rb:140:in `pp'
from ..../Ruby/lib/ruby/1.8/PP.rb:77:in `pp'
from ..../Ruby/lib/ruby/1.8/pp.rb:119:in `guard_inspect_key'
from ..../Ruby/lib/ruby/1.8/PP.rb:77:in `pp'
from ..../Ruby/lib/ruby/1.8/PP.rb:60:in `pp'
from ..../Ruby/lib/ruby/1.8/PP.rb:59:in `each'
from ..../Ruby/lib/ruby/1.8/PP.rb:59:in `pp'
from (irb):334
from :0

irb(main):335:0> a = {'a', 'b', 'c', 'd'}
=> {"a"=>"b", "c"=>"d"}
irb(main):336:0> a
=> {"a"=>"b", "c"=>"d"}
irb(main):337:0> pp a
NoMethodError: undefined method `<<' for #<FXIrb:0x6229524>
from ..../Ruby/lib/ruby/1.8/prettyprint.rb:146:in `text'
from ..../Ruby/lib/ruby/1.8/prettyprint.rb:198:in `group'
from ..../Ruby/lib/ruby/1.8/pp.rb:140:in `pp'
from ..../Ruby/lib/ruby/1.8/PP.rb:77:in `pp'
from ..../Ruby/lib/ruby/1.8/pp.rb:119:in `guard_inspect_key'
from ..../Ruby/lib/ruby/1.8/PP.rb:77:in `pp'
from ..../Ruby/lib/ruby/1.8/PP.rb:60:in `pp'
from ..../Ruby/lib/ruby/1.8/PP.rb:59:in `each'
from ..../Ruby/lib/ruby/1.8/PP.rb:59:in `pp'
from (irb):337
from :0

irb(main):338:0> ary = Array.new(5) {|i| Array.new(5) {|j| i*j } }
=> [[0, 0, 0, 0, 0], [0, 1, 2, 3, 4], [0, 2, 4, 6, 8], [0, 3, 6, 9, 12], [0, 4, 8, 12, 16]]
irb(main):339:0> pp ary
NoMethodError: undefined method `<<' for #<FXIrb:0x6229524>
from ..../Ruby/lib/ruby/1.8/prettyprint.rb:146:in `text'
from ..../Ruby/lib/ruby/1.8/prettyprint.rb:198:in `group'
from ..../Ruby/lib/ruby/1.8/pp.rb:140:in `pp'
from ..../Ruby/lib/ruby/1.8/PP.rb:77:in `pp'
from ..../Ruby/lib/ruby/1.8/pp.rb:119:in `guard_inspect_key'
from ..../Ruby/lib/ruby/1.8/PP.rb:77:in `pp'
from ..../Ruby/lib/ruby/1.8/PP.rb:60:in `pp'
from ..../Ruby/lib/ruby/1.8/PP.rb:59:in `each'
from ..../Ruby/lib/ruby/1.8/PP.rb:59:in `pp'
from (irb):339
from :0

Ответы [ 2 ]

6 голосов
/ 30 июля 2010

Попробуйте явно pp

require "pp"

Если это не сработает, попробуйте обновить до ruby ​​1.8.7 или использовать другой «симпатичный принтер», такой как потрясающая печать

0 голосов
/ 30 июля 2010

Попробуйте это:

def <<(text)
  print text
end

irb(main):011:0> pp [1,2]
[1, 2]
=> nil

ruby ​​1.8.6 (2007-03-13 уровень исправления 0) [i386-mswin32]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...