起源:
慎用类变量 - 实例变量靠谱量又足
大概如下的代码,查了我一晚上 + 一早上:
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
分析几种教育互联网形态 在线教育到底靠不靠谱?.docx
在当今时代,LED照明技术广泛应用,并逐渐成为照明市场的主流选择。随着LED照明产品的普及,其固有的闪烁问题也引起了业界和用户的广泛关注。关于LED及其驱动电源闪烁特性的测量方法,也成为了一个亟待解决的行业...
我在CSDN总结的一些比较靠谱的比较靠的4个项目希望能帮到大家。
随着靠谱助手微信版的普及,它所附带的"比克尔.url"文件也许会被用户发现,这可能是一个链接文件,用于直接访问靠谱助手官方网站或其他相关资源。通过这个链接,用户可以获取到更多关于软件的信息、更新以及可能的...
面试总结js 靠谱靠谱靠谱.md
【靠谱助手1.4】是一款深受用户喜爱的电脑模拟器软件,它专为喜欢在电脑上体验手机游戏的用户设计。这款工具的核心功能是将移动游戏无缝移植到个人计算机上,让用户无需消耗手机流量,就能在大屏幕上畅享游戏乐趣。...
智能投顾(Robo-Advisor)是近年来金融科技领域的一项重要创新,它的出现与应用在一定程度上改变了传统金融投资顾问的业务模式,并引领了一场财富管理领域的变革。智能投顾通过结合先进的算法和模型,实现自动化、...
安卓模拟器社区(靠谱社区)是中国最大的安卓模拟器交流论坛,下载靠谱助手安卓模拟器可在PC电脑上极速运行安卓手游和应用。最全手机游戏电脑版攻略心得!
在火电厂节能减排领域,一种新的技术正在引起关注——“电厂锅炉烟气余热的深度回收利用及减排系统”。这项技术声称能够将燃煤发电机组的供电煤耗降低4.9克/千瓦时,远超过常规低温省煤器或低温烟冷器技术所能实现的...
读《马克思靠谱》心得.pdf
他们既是执行者,又是团队的领导者,他们的能力和素质直接影响到公司的整体表现和员工的工作积极性。一个强大的中层管理者应具备以下特征: 1. **战略规划**:中层管理者需要理解上级的策略,制定部门的发展战略,...
靠谱助手安卓PC模拟器
【构建靠谱团队】是IT行业中一个至关重要的主题,无论是在软件开发、项目管理还是技术支持等领域,拥有一支高效且可靠的团队都是成功的关键。本篇主要探讨如何构建并维护这样的团队,尤其是在技术领域。 首先,我们...
靠谱手机安卓应用助手,海量应用随便下载,实用、好用。
读《马克思靠谱》心得参考.doc
靠谱助手是一款专业的第三方智安卓模拟器管理软件,软件由靠谱社区推出,目前支持bluestacks安卓模拟器,是国内最完美的PC端管理软件以及最大用户群体的安卓模拟器管理软件。软件支持安卓的APP资源搜索、下载、APP...
本文将详细介绍“靠谱的文件切割工具”及其相关知识点。 文件切割工具是一种实用的软件,其主要功能是将大型文件分割成较小的部分,以便于传输、存储或管理。在提供的资源中,包含了两个这样的工具,一个是作者的...
靠谱助手是靠谱社区于2013年5月18日推出的一个专为第三方智能安卓模拟器提供管理的免费应用程序,靠谱助手目前支持bluestacks安卓模拟器,是国内最完美的PC端管理软件。 bluestacks安卓模拟器支持QQ、微信、陌陌等...
标题"2019商场“不靠谱”菜馆主题活动策划方案【餐饮】【活动策划】.rar"表明这是一个关于2019年在商场内针对一家名为“不靠谱”菜馆的特殊主题活动的策划方案。该方案可能包含了一系列创新的营销策略和活动设计,...