Szukaj…


Uwagi

Zasadniczo unikaj podwójnych negacji w kodzie. Rubocop mówi, że podwójne negacje są niepotrzebnie złożone i często można je zastąpić czymś bardziej czytelnym.

Zamiast pisać

def user_exists?
    !!user
end

posługiwać się

def user_exists?
    !user.nil?
end

Wszystkie obiekty mogą być konwertowane na logiczne w Ruby

Użyj składni podwójnej negacji, aby sprawdzić prawdziwość wartości. Wszystkie wartości odpowiadają wartości logicznej, niezależnie od ich typu.

irb(main):001:0> !!1234
=> true
irb(main):002:0> !!"Hello, world!"
(irb):2: warning: string literal in condition
=> true
irb(main):003:0> !!true
=> true
irb(main):005:0> !!{a:'b'}
=> true

Wszystkie wartości oprócz nil i false są zgodne z prawdą.

irb(main):006:0> !!nil
=> false
irb(main):007:0> !!false
=> false

Prawdziwość wartości może być wykorzystana w konstrukcjach if-else

Nie musisz używać podwójnej negacji w instrukcjach if-else.

if 'hello'
    puts 'hey!'
else
    puts 'bye!'
end

Powyższy kod wyświetla „hej!” na ekranie.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow