2016-04-05 11 views
3

!! aşağıdaki yöntemde ne anlama geliyor?!! Ruby'de (çift patlama) anlam

def include?(record) 
    [email protected]?(record) 
end 
+0

Buna çift patlama (!!) denir. –

+0

'!!' “doğruluk” değerlerini (“nil” ve “false” dışındakiler) “true” ve “false” değerlerine (“nil” veya “false”) “false” değerine dönüştürür. '!! x'' anlamına gelir! (! x) '. Eğer x 'gerçektir, '! X'' false'; eğer x' falsey ise, '! x' doğrudur. Birincisi '' 'sonra' false''''''''nü 'true' ve 'true' false' için döndürür. Örneğin, '!! 7 =>! (! 7) =>! False => true' ve' !! nil =>! (! Nil) =>! True => false'. –

+0

Son bir soruyu sildiniz, bir göz atın [burada] (https://jsfiddle.net/m9gmjc2w/);) –

cevap

6

örneğin onun truthy veya falsy değeri

tipi boolean bir değişken döküntüleri ve belirler: -

# Numbers... 
!!1 # => true 
!!0 # => false 

# 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 
3

Boole sonuçları almanıza yardımcı olur.

Örnek:

a = nil 
!a 
#=> true 
!!q 
#=> false 

Benzer

a = 1 
!a 
#=> false 
!!a 
#=> true 
0

Çift ünlem işareti sonucu bir boolean değerine dönüştürür, böylece @assication.include?(record), false'a dönüştürülecek nil döndürür.