起源:
慎用类变量 - 实例变量靠谱量又足
大概如下的代码,查了我一晚上 + 一早上:
irb(main):002:0> User.class_inheritable_hash :genders
=> [:genders]
irb(main):003:0> User.genders
=> nil
irb(main):004:0> User.genders = {:a=>1}
=> {:a=>1}
irb(main):005:0> User.genders = {:b=>1}
=> {:b=>1}
我以为User.genders的结果是{:b=>1},但是:
irb(main):006:0> User.genders
=> {:a=>1, :b=>1}
翻了源码才知道:
def class_inheritable_hash(*syms)
class_inheritable_reader(*syms)
class_inheritable_hash_writer(*syms)
end
def class_inheritable_hash_writer(*syms)
options = syms.extract_options!
syms.each do |sym|
class_eval(<<-EOS, __FILE__, __LINE__ + 1)
def self.#{sym}=(obj) # def self.nicknames=(obj)
write_inheritable_hash(:#{sym}, obj) # write_inheritable_hash(:nicknames, obj)
end # end
#
#{" #
def #{sym}=(obj) # def nicknames=(obj)
self.class.#{sym} = obj # self.class.nicknames = obj
end # end
" unless options[:instance_writer] == false } # # the writer above is generated unless options[:instance_writer] == false
EOS
end
end
def write_inheritable_hash(key, hash)
write_inheritable_attribute(key, {}) if read_inheritable_attribute(key).nil?
write_inheritable_attribute(key, read_inheritable_attribute(key).merge(hash))
end
分享到:
相关推荐
电商付费会员模式,究竟靠不靠谱?.pdf
智能投顾来了,机器人理财靠不靠谱.pdf
分析几种教育互联网形态 在线教育到底靠不靠谱?.docx
LED照明带来的闪烁问题也越来越引起重视。但如何方便快捷测量LED及其驱动电源闪烁特性,已成为行业难题。
我在CSDN总结的一些比较靠谱的比较靠的4个项目希望能帮到大家。
朋友圈说说靠自己最靠谱.pdf
面试总结js 靠谱靠谱靠谱.md
安卓模拟器社区(靠谱社区)是中国最大的安卓模拟器交流论坛,下载靠谱助手安卓模拟器可在PC电脑上极速运行安卓手游和应用。最全手机游戏电脑版攻略心得!
靠谱助手是世界最大的安卓模拟器。内有百万应用可供你下载!
大势已定,传统火电厂节能减排升级改造的大蛋糕有目共睹,不少企业跃跃欲试要切一块下来。在国电福州发电有限公司机组改造中,一
读《马克思靠谱》心得.pdf
对于一家公司来说,能够培养出强大的新型中层管理者通常被认为“强大且生机勃勃”。强大的新型中层管理者会在精神层面上勤恳打造日本式的经营氛围,管理上会吸取美国企业狩猎型的成果主义,对下属格外严格。...
靠谱助手安卓PC模拟器
靠谱手机安卓应用助手,海量应用随便下载,实用、好用。
读《马克思靠谱》心得参考.doc
靠谱助手是一款专业的第三方智安卓模拟器管理软件,软件由靠谱社区推出,目前支持bluestacks安卓模拟器,是国内最完美的PC端管理软件以及最大用户群体的安卓模拟器管理软件。软件支持安卓的APP资源搜索、下载、APP...
靠谱助手是靠谱社区于2013年5月18日推出的一个专为第三方智能安卓模拟器提供管理的免费应用程序,靠谱助手目前支持bluestacks安卓模拟器,是国内最完美的PC端管理软件。 bluestacks安卓模拟器支持QQ、微信、陌陌等...
ios面试题,招聘一个靠谱ios开发答案 ios面试题,招聘一个靠谱ios开发答案
网站seo百度排名优化网站推广靠谱的公司推荐.docx网站seo百度排名优化网站推广靠谱的公司推荐.docx网站seo百度排名优化网站推广靠谱的公司推荐.docx网站seo百度排名优化网站推广靠谱的公司推荐.docx网站seo百度排名...
java面试题整理打包 最新 最全 靠谱 java 面试 试题 试卷 面试题 整理