Сравнение !!оператор против настоящего? - PullRequest
0 голосов
/ 18 июня 2019

В Руби есть преимущество для звонка present?

my_value.present?

против !!

!!my_value

1 Ответ

5 голосов
/ 18 июня 2019

.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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...