!!
在以下方法中的含义是什么?
def include?(record)
!!@association.include?(record)
end
答案 0 :(得分:6)
它将变量转换为类型boolean并确定其真值或假值
例如: -
# Numbers...
!!1 # => true
!!0 # => true
# Numbers as strings...
!!'1' # => true
!!'0' # => false
# Truthy strings (case insensitive)...
!!'true' # => true (alias: 't')
!!'false' # => false (alias: 'f')
!!'yes' # => false (alias: 'y')
!!'no' # => false (alias: 'n')
# Booleans...
!!true # => true
!!false # => false
# Nil...
!!nil # => false
答案 1 :(得分:3)
它可以帮助您获得布尔结果。
例如:
a = nil
!a
#=> true
!!a
#=> false
类似地
a = 1
!a
#=> false
!!a
#=> true
答案 2 :(得分:0)
双重感叹号会将结果转换为布尔值,在这种情况下,如果public void onBindViewHolder(ViewHolder holder, final int position) {
holder.checkBox.setEnabled(data.get(position).isEnabled());
}
返回@assication.include?(record)
,则会转换为nil
。