variable una triple simple simbolo reglas regla que psicologia premisas pregunta porque oraciones operadores negar negación negacion logicos logica ingles inferencia implicacion exclamacion español eliminacion ejercicios ejemplos doble con booleanos afirmacion perl operators boolean

perl - una - Uso de doble negación(!!)



reglas de inferencia doble negacion ejemplos (2)

¡Eso es mucho funk para un bloque de sort !

Es esencialmente un tipo de dos niveles:

  1. ascii-betical
  2. archivos eliminados primero, luego recuperados

Entonces uno podría reescribirlo como (no probado):

@documents = sort { exists $deleted_documents_names{$a} # same effect as ''!!'' <=> exists $deleted_documents_names{$b} || uc( $a ) cmp uc( $b ) } @documents;

Esta pregunta ya tiene una respuesta aquí:

De acuerdo, me encontré con un código que se parece a

@documents_names = sort { !!$deleted_documents_names{$a} == !!$deleted_documents_names{$b} ? uc($a) cmp uc($b) : !!$deleted_documents_names{$a} cmp !!$deleted_documents_names{$b} } @documents_names;

Es la primera vez que veo el uso de la doble negación. ¿De qué sirve? ¿Cuándo lo usaría una persona?


Convierte tipos no booleanos a boolean ( dualvar(0,"") o 1 ).

Es una forma abreviada de hacer esto, en lugar de intentar lanzarlo explícitamente (lo que puede tomar más caracteres). El ! el operador niega la veracidad de su argumento. Por lo tanto, dos de ellos se utilizan.

Muchos tipos de objetos son "verdad" y otros son "falsey".

  • Los únicos valores falsos son 0 , undef , "" , "0" y algunos objetos sobrecargados.
  • Los ejemplos de valores verdaderos son 1 , "asdf" y todos los demás valores.