首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在类外部声明一些类参数

在类外部声明一些类参数
EN

Stack Overflow用户
提问于 2013-07-02 23:14:19
回答 1查看 34关注 0票数 0

我想知道为什么在1_settings.rb rails应用程序初始化应用程序中,Settings参数的一些方法是在类Settings之外声明的。它的确切含义是什么?我们可以将这些作为Settings方法吗?(如果是这样的话,为什么不把它们包括在类中)

顺便说一句,ruby关键字是在哪里定义的(它是指一个namespace关键字还是所有其他地方定义的namespace类)?

代码语言:javascript
复制
class Settings < Settingslogic
  source "#{Rails.root}/config/applab.yml"
  namespace Rails.env

  class << self
    def applab_on_non_standard_port?
      ![443, 80].include?(applab.port.to_i)
    end
...    
  end
end

...
# Default settings
Settings['ldap'] ||= Settingslogic.new({})
Settings.ldap['enabled'] = false if Settings.ldap['enabled'].nil?
EN

回答 1

Stack Overflow用户

发布于 2013-07-02 23:30:55

代码语言:javascript
复制
Settings['ldap'] ||= Settingslogic.new({})

等同于:

代码语言:javascript
复制
Settings.[]('ldap') || Settings.[]=('ldap', Settingslogic.new({}))

因此,这些只是使用适当的参数在Settings类(它也是一个对象)上调用的方法[][]=

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17429322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档