そんなんいわれてもこまる(´・ω・`)ショボーン
$ uname -mrsv
Linux 2.6.26-2-amd64 #1 SMP Tue Jan 25 05:59:43 UTC 2011 x86_64
$ ruby -v
ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux]
/usr/lib/ruby/1.8/rexml/formatters/pretty.rb:131:in `[]': no implicit conversion from nil to integer (TypeError)
from /usr/lib/ruby/1.8/rexml/formatters/pretty.rb:131:in `wrap'
from /usr/lib/ruby/1.8/rexml/formatters/pretty.rb:90:in `write_text'
from /usr/lib/ruby/1.8/rexml/formatters/default.rb:50:in `write'
from /usr/lib/ruby/1.8/rexml/formatters/pretty.rb:75:in `write_element'
from /usr/lib/ruby/1.8/rexml/formatters/pretty.rb:73:in `each'
from /usr/lib/ruby/1.8/rexml/formatters/pretty.rb:73:in `write_element'
from /usr/lib/ruby/1.8/rexml/formatters/default.rb:31:in `write'
from /usr/lib/ruby/1.8/rexml/formatters/pretty.rb:75:in `write_element'
from /usr/lib/ruby/1.8/rexml/formatters/pretty.rb:73:in `each'
from /usr/lib/ruby/1.8/rexml/formatters/pretty.rb:73:in `write_element'
from /usr/lib/ruby/1.8/rexml/formatters/default.rb:31:in `write'
from /usr/lib/ruby/1.8/rexml/formatters/pretty.rb:75:in `write_element'
from /usr/lib/ruby/1.8/rexml/formatters/pretty.rb:73:in `each'
from /usr/lib/ruby/1.8/rexml/formatters/pretty.rb:73:in `write_element'
from /usr/lib/ruby/1.8/rexml/formatters/default.rb:31:in `write'
こんな感じのソースコードで発生。
doc = REXML::Document.new()
(中略)
str = ""
formatter = REXML::Formatters::Pretty.new(2, true)
formatter.write(doc.root, str) # こいつがエラー
doc.write(str, 2) # こいつもエラー
doc.write(str, -1, true, true) # これはOK
tags: ruby rexml
Posted by NI-Lab. (@nilab)