Question -in -shl -shr

Plus d'informations
il y a 12 ans 11 mois #14436 par JONDON Cyril
-in -shl -shr a été créé par JONDON Cyril
Je ne trouve pas d'information concernant ces opérateurs.

Merci pour votre retour.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 12 ans 11 mois #14437 par SiSMik
Réponse de SiSMik sur le sujet Re:-in -shl -shr
Bonsoir,

-shr et -shl sont des opérateurs arythmétiques -> cadeau

-in permet de tester si une variable est dans un tableau, à voir ça marche peut être avec une hashtable.

@+

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 12 ans 11 mois #14439 par JONDON Cyril
Réponse de JONDON Cyril sur le sujet Re:-in -shl -shr
Merci pour un tableau pas de souci.

$Myarray=@(1..5)
$MyHT=@{\"Key1\"=1;\"Key2\"=6}
$MyHT.Item(\"Key1\") -in $Myarray
$MyHT.Item(\"Key2\") -notin $Myarray

Pour une Hashtable ca ne semble pas être efficace à moins que je ne teste pas de la bonne façon.

$HT=@{\"Key1\"=\"Value1\";\"Key2\"=\"Value2\"}
$HT.Item(\"Key1\") in $HT

Par contre un tableau de Hashtable très logiquement ça marche

$ArrayofHT=@()
$HT=@{\"Key1\"=\"Value1\";\"Key2\"=\"Value2\"}
$HT2=@{\"Key1\"=\"Value3\";\"Key2\"=\"Value4\"}
$arrayofHT+=$HT
$arrayofHT+=$HT2
$HT -in $arrayofHT

Je pense que je n'utiliserai jamais shl et shr par contre c'est une bonne chose d'avoir connaissance de in.

Finalement c'est juste l'inverse de Contains je me trompe pas... qui lui permet dans une collection d'objet de trouver une valeur

$Myarray -contains $MyHT.Item(\"Key1\")
$Myarray -notcontains $MyHT.Item(\"Key2\")

Sinon une remarque qd on parle de collection finalement on parle bien d'un tableau ?

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 12 ans 11 mois #14446 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:-in -shl -shr
Salut,
attention les opérateurs que tu utilises sont pour la plupart spécifique à la v3.
cxvd7391 écrit:

à moins que je ne teste pas de la bonne façon.

Yes.
[code:1]
$HT.Item.OverloadDefinitions
$HT|GM
#cf. Contains
[/code:1]
Ici Item recherche sur l'adresse d'un objet pas sur la valeur ou la clé.
cxvd7391 écrit:

Par contre un tableau de Hashtable très logiquement ça marche

Oui car ici tu utilises l'adresse d'une hashtable :
[code:1]
$arrayofHT
$HT -in $arrayofHT #true
Remove-Variable HT

$HT -in $arrayofHT #false
$arrayofHT #identique
[/code:1]
cxvd7391 écrit:

Finalement c'est juste l'inverse de Contains je me trompe pas

On peut dire ça.
cxvd7391 écrit:

Sinon une remarque qd on parle de collection finalement on parle bien d'un tableau ?

Oui et non, certaines collections ne sont pas indexées alors qu'un tableau l'est.
Voir aussi .<br><br>Message édité par: Laurent Dardenne, à: 26/03/13 11:45

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 12 ans 11 mois #14449 par JONDON Cyril
Réponse de JONDON Cyril sur le sujet Re:-in -shl -shr
Donc le bon test pour une HashTable ce serait plutot ça:


$HT=@{Key1=\&quot;Value1\&quot;;Key2=\&quot;Value2\&quot;}
\&quot;Value1\&quot; -in $HT.Values
\&quot;Key1\&quot; -in $HT.Keys

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 12 ans 11 mois #14451 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:-in -shl -shr
Oui, tant que tu utilises des types 'simples'.
Bien qu'avec $HT.Contains tu ais du code portable ;)

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.064 secondes
Propulsé par Kunena