这里有一个来自fxri的小拷贝/粘贴。为什么会发生这种事,我该怎么解决呢?Ruby版本是;ruby1.8.6(2008-0811-patchlevel 287) i 386-mswin32 32在64位windows 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发布于 2010-07-30 09:28:08
试试这个:
def <<(text)
print text
end
irb(main):011:0> pp [1,2]
[1, 2]
=> nilruby 1.8.6 (2007-03-13修补程序0) i 386-mswin32 32
发布于 2010-07-30 09:21:21
https://stackoverflow.com/questions/3370043
复制相似问题