• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ruby技巧如何判断属性和变量是否存在

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

java_side 这个插件,运行时需要分辨rails应用是否激活了一些功能,常用的方法是判断参数值,比如:

if config.spring
    require 'java_side/spring'
    p 'spring supported'
endSymptoms of Mycoplasma pneumonia

但是,这么做有问题——用户很容易就忘记设置config里面的spring参数,结果这个读取属性的方法不存在

.../railties-3.0.6/lib/rails/railtie/configuration.rb:77:in `method_missing': undefined method `spring'
&nbsp;for #<Rails::Application::Configuration:0x2c642c2e> (NoMethodError)
    from /home/john/projects/demo/vendor/plugins/java_side/init.rb:14

细节不解释了,关键是这里会抛出异常,不过ruby很灵活,于是我找到了这个方法:TCSTAR7034

if config.respond_to? 'spring'
    require 'java_side/spring'
end

respond_to? 作用类似反射,会检查当前是否存在一个名为指定参数的 method 

不过,这个方法也不是很通用,因为有时候要判断的不是 method ,例如我判断当前项目是否使用了 warbler 这个 gem,用的方法是看看有没有 Warbler 这个 module,这时 respond_to? 就不管用了

ruby有一个rescue机制,类似java的异常系统,不过语法比较灵活,例如:


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
rubyonrails使用devise发布时间:2022-07-14
下一篇:
[rubyonrails]深入(2)ruby基本语法发布时间:2022-07-14
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap