.present?
является частью Rails, а не частью стандартной библиотеки классов Ruby. В документации Rails для .present?
говорится, что true
, если объект "не пустой". Он часто используется для определения того, что атрибут базы данных имеет фактическое значение, отличное от nil
или пусто.
> x = ' '
> x.present?
false
> x = nil
> x.present?
false
!!
- это два !
вместе, стандартный оператор Ruby. !
является логическим оператором Ruby «не». Пустое значение является правдивым в Ruby. Использование двух !
вместе позволяет вам взять значение в Ruby и получить простое логическое значение true
или false
в зависимости от того, является ли значение истинным или ложным.
> x = ' '
> !!x
true # a blank is truthy
> x = nil
> !!x
false # nil is falsey