[Ruby] À quoi sert «!!»?

introduction

Cela ne sort pas même si je fais le tour ... Il y a un sentiment d'inconfort à utiliser le japonais qui semble manquer ...

Je vais l'écrire avec ma propre interprétation que j'ai levé les yeux et vu

! Est un opérateur logique

Un opérateur logique est un opérateur qui renvoie vrai ou faux.

D'autres opérateurs logiques incluent «et» et «ou»

! Évalue l'objet

Renvoie vrai si nul ou faux

Renvoie faux si vrai

C'est "!"

Autrement dit, un opérateur logique négatif

Exemple

irb(main):018:0> !nil => true irb(main):019:0> !false => true irb(main):020:0> !true => false


#### ~~ `!!` est un opérateur logique négatif de ~~

 * @scivola a commenté que l'opérateur logique unique `!!` n'est pas ouvert. Ce qui précède ne semble pas être une expression appropriée, donc je vais le corriger, merci! *

#### Qu'est-ce que «!!»

 En répétant "!" Deux fois, le vrai ou le faux est retourné dans le premier "!" Est refusé une fois de plus.

 Renvoie false si nul ou faux

 Renvoie ture si vrai

 En d'autres termes, vous niez le déni.
 > Exemple

>```
irb(main):025:0> !!false
=> false
irb(main):026:0> !!nil
=> false
irb(main):027:0> !!true
=> true

Eh bien, je ne sais pas à quoi ça sert.

N'est-ce pas manquant? Pensez-vous que vous utilisez le japonais comme ça?

La réponse est un opérateur logique. Qui était

L'opérateur logique évalue et renvoie un objet de valeur logique (vrai, faux)

Bien entendu, les valeurs de retour de tous les objets ne sont pas nécessairement des objets de valeur logique.

irb(main):001:0> a = "Ah"
=> "Ah"
irb(main):002:0> a
=> "Ah"

Donc, quand vous voulez vrai ou faux, si vous écrivez sans utiliser !!, cela ressemblera à ceci

irb(main):028:0> a = "Ah"
=> "Ah"
irb(main):029:0> a ? true : false
=> true

Mais si vous utilisez !!

irb(main):031:0> a = "Ah"
=> "Ah"
irb(main):032:0> !!a
=> true

Avec cela, vous pouvez appeler en deux lettres! Incroyable intelligent! !!

C'était mon mérite ~ C'est tout!

Recommended Posts

[Ruby] À quoi sert «!!»?
Qu'est-ce qu'un module Ruby?
[Ruby] Qu'est-ce qu'une instance?
A quoi sert le constructeur?
Qu'est-ce qu'un tableau bidimensionnel Ruby?
Qu'est-ce que Cubby
Qu'est-ce qui est nul? ]
Qu'est-ce que 'java
Qu'est-ce que Keycloak
Qu'est-ce que maven?
[Note technique] Qu'est-ce que "inclure" dans Ruby?
Qu'est-ce que soi
Qu'est-ce que Jenkins
Qu'est-ce que ArgumentMatcher?
Qu'est-ce que IM-Juggling?
[Pour les débutants] On dit que le rubis est rubis, mais qu'en est-il?
Qu'est-ce que SLF4J?
[Pour les super super débutants] Qu'est-ce que l'orientation objet?
Qu'est-ce que la façade? ??
Qu'est-ce que Java <>?
Qu'est-ce que Gradle?
Qu'est-ce que POJO
Qu'est-ce que 'java
À quoi sert le modèle de façade?
Qu'est-ce que centOS
Qu'est-ce que RubyGem?
Qu'est-ce que before_action?
Qu'est-ce que Docker
Qu'est-ce que Byte?
Qu'est-ce que Tomcat
[Ruby] Que se passe-t-il si le self de la méthode est utilisé comme valeur de retour?
Quel est le modificateur volatile pour les variables Java?
Qu'est-ce que l'assemblage Maven?
Qu'est-ce que `docker-compose up`?
Qu'est-ce qu'un constructeur
Qu'est-ce que vue cli
abréviation de la méthode ruby
Qu'est-ce qu'une interface
Qu'est-ce que le moi de Ruby?
Qu'est-ce que le codage en dur?
Qu'est-ce qu'un flux
Qu'est-ce que l'attr_accessor de Ruby?
Qu'est-ce que l'encapsulation Java?
Qu'est-ce qu'une permission refusée?
Qu'est-ce que le contrôle d'instance?
Qu'est-ce qu'un initialiseur?
Qu'est-ce qu'un opérateur?
Qu'est-ce que l'orientation objet?
Qu'est-ce que le @VisibleForTesting de Guava?
Qu'est-ce qu'un modèle MVC?
Qu'est-ce qu'une annotation?
Qu'est-ce que la technologie Java?
Qu'est-ce que Java API-java
Qu'est-ce que @ (variable d'instance)?
Qu'est-ce que l'artefact de Gradle?
Qu'est-ce que l'audit JPA?