我一直在挖掘一些红宝石宝石代码,我遇到了这些并且不确定它们是什么意思
def success?
!!@success
end
def failure?
!@success
end
cattr_accessor :test_response
最后是这段代码
class_inheritable_accessor :attributes
self.attributes = []
def self.attribute(name, options={})
top_level_name = name.to_s.split(".").last.underscore
define_method top_level_name do
read_attribute name
end
如果你只知道一两个那么好......我只想了解它们......谢谢
答案 0 :(得分:6)
!!
是“强制转换为布尔值”。 !
否定一个值,!!
否定了否定的值。因此!!
将任何值转换为布尔值。
> 5
=> 5
> !5
=> false
> !!5
=> true
> !!5 == true
=> true
答案 1 :(得分:3)
您在代码的第二部分中没有明白哪些部分?
第一个代码段中的方法success?
和failure?
返回与@success
实例属性相关的布尔值(true / false)。
cattr_accessor
创建一个名为test_response
以下是更多信息,也可以更好地解释:http://apidock.com/rails/Class/cattr_accessor