`

Re: 如何用module_eval向class中添加instance variable

    博客分类:
  • Ruby
阅读更多
ruby 代码
  1. class A   
  2.   def self.has_some_vars(*options)   
  3.     options.each do |var|   
  4.       class_eval(<<-EOS)   
  5.       unless defined? @#{var}   
  6.       @#{var} = nil   
  7.       end  
  8.       EOS   
  9.     end  
  10.   end  
  11. end  
  12.   
  13. class B < A   
  14.   has_some_vars :user_name,:user_age,:user_address  
  15. end  
  16.   
  17. p B.instance_variables   
  18. =>["@user_name","@user_age","@user_address"]  
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics