string的sub方法无法正常调用

悬赏:5 发布时间:2008-07-23 提问人:shytian (初级程序员)

我建的工程里面包含了REXML(require "rexml/document"),之后调用String的sub方法时,老是报错:
private method `sub' called for <url> ... </>:REXML::Element (NoMethodError)
貌似是调用REXML的sub方法了!
请问这个怎么避免啊
该问题已经关闭: 超过15天由系统自动关闭,悬赏平分给所有参与回答的会员

回答

你是不是引错包了?
如果不是的话,你可以用全明嘛~
如:java.lang.String.sub[size=medium][/size]
aidiyuxin (资深程序员) 2008-07-24
aidiyuxin,你看清楚,人家问的是Ruby的,你的怎么有java.lang.String.sub
qichunren (资深程序员) 2008-07-24
require "rexml/document"
include REXML
string = <<EOF
  <mydoc>
    <someelement attribute="nanoo">Text, text, text</someelement>
  </mydoc>
EOF
doc = Document.new string
# 建议做法,把REXML元素转换为String后替换
puts doc.to_s.sub(/my/, '')
# 出错做法
puts doc.sub(/my/, '') # 1.rb:11: private method `sub' called for <UNDEFINED> ... </>:REXML::Document (NoMethodError)
foxgst (初级程序员) 2008-07-25