| Ceopal 发表于 2013-7-3 18:56 ![]() 当一堆不是自己写的脚本聚在一起后……脚本们各自的脾气不一样……
 
 不够的……只要存在,就会引发问题…… ...
直接调用模块的方法为什么不可呢
 
 不如你自己对object类写一个方法让它对指定模块的方法逐个undef吧,把N替换为Object就可以直接用了
 
 
 module A  def a    msgbox "1"  endendclass N  include A  def initialize  end  def cmds(a)    eval(a)  end  def uninclude(a)    for f in a.instance_methods      eval("undef "+f.to_s)    end  endendn = N.newn.a #==> 1 n.uninclude An.a #==> unfined mothod error
module A 
  def a 
    msgbox "1" 
  end 
end 
class N 
  include A 
  def initialize 
  end 
  def cmds(a) 
    eval(a) 
  end 
  def uninclude(a) 
    for f in a.instance_methods 
      eval("undef "+f.to_s) 
    end 
  end 
end 
n = N.new 
n.a #==> 1  
n.uninclude A 
n.a #==> unfined mothod error 
 
  我认为楼主说自己是新手只是个借口、借口,嗯 |