Uważaj na inne odpowiedzi przedstawiające present?
odpowiedź na Twoje pytanie.
present?
jest przeciwieństwem blank?
w szynach.
present?
sprawdza, czy istnieje znacząca wartość. Te rzeczy mogą się nie udać present?
:
"".present?
" ".present?
[].present?
false.present?
YourActiveRecordModel.where("false = true").present?
Natomiast !nil?
czek daje:
!"".nil?
!" ".nil?
![].nil?
!false.nil?
!YourActiveRecordModel.where("false = true").nil?
nil?
sprawdza, czy obiekt jest rzeczywiście nil
. Coś jeszcze: pusty ciąg 0
, false
niezależnie, nie jest nil
.
present?
jest bardzo przydatne, ale zdecydowanie nie jest przeciwieństwem nil?
. Mylenie tych dwóch może prowadzić do nieoczekiwanych błędów.
Twój przypadek użycia present?
zadziała, ale zawsze dobrze jest być świadomym różnicy.
present?
wymaga niepustego ciągu.! "".nil?
zwraca prawdę, ale"".present?
zwraca fałsz.