Ruby on rails 在类外部声明某些类参数
我想了解为什么在Ruby on rails 在类外部声明某些类参数,ruby-on-rails,class,methods,Ruby On Rails,Class,Methods,我想了解为什么在1_settings.rbrails应用程序初始化应用程序中,settings参数的某些方法在类settings之外声明。这到底是什么意思?我们可以把它们作为设置方法吗?(如果是,为什么不将他们包括在课程中) 顺便问一下,在哪里定义了名称空间关键字(它是指ruby关键字还是其他地方定义的名称空间类) 类设置
1_settings.rb
rails应用程序初始化应用程序中,settings
参数的某些方法在类settings
之外声明。这到底是什么意思?我们可以把它们作为设置
方法吗?(如果是,为什么不将他们包括在课程中)
顺便问一下,在哪里定义了名称空间
关键字(它是指ruby关键字还是其他地方定义的名称空间
类)
类设置
Settings.[]('ldap') || Settings.[]=('ldap', Settingslogic.new({}))
因此,这些只是在设置
类(也是一个对象)上调用的方法[]
和[]=
,并具有适当的参数 对不起,我对ruby真的不太熟悉,那些[]
和[]=
methods@Newben我不明白你的问题。你能说得更准确些吗?事实上,我想[]=
是一条捷径,但是什么呢?顺便说一句,为什么要在类之外但在同一个fileNo上声明类的方法呢Settings[]
是设置的快捷方式。[]()
@Newben正如@MichaelSzyndler所说-Settings[]
是设置的语法糖。[]()
。此构造不是声明方法,而是调用(已定义)方法。为什么这样称呼他们?可能是因为这比在类中调用它们更清晰。
Settings['ldap'] ||= Settingslogic.new({})
Settings.[]('ldap') || Settings.[]=('ldap', Settingslogic.new({}))