Question Bug ?

Plus d'informations
il y a 16 ans 9 mois #475 par Berfini
Réponse de Berfini sur le sujet Re:Bug ?
\"Hello\" -eq \"Hello\" est normal puisque si powershell les convertit en entiers, elles seront codées de la meme façon, donc True est tout a fait normal.

Gaby

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

Plus d'informations
il y a 16 ans 9 mois #476 par Arnaud Petitjean
Réponse de Arnaud Petitjean sur le sujet Re:Bug ?
Effectivement -eq peut marcher avec du texte car PowerShell cherche à convertir les types pour les faire concorder.
Ceci étant, je ne le recommande pas pour faire des comparaisons textuelles. Il y a des opérateurs spécifiques pour cela, autant les utiliser plutôt que de risquer des faux positifs.

Sinon, pour ce qui est de :
[code:1]
$c.length
4
[/code:1]

je pense que le résultat de la commande Out-String doit être une chaine Unicode, ce qui explique pourquoi elle fait 4 octets au lieu de 2 en ASCII.

Arnaud

MVP PowerShell et créateur de ce magnifique forum :-)
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?

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

Plus d'informations
il y a 16 ans 9 mois #478 par Jerome Cordel
Réponse de Jerome Cordel sur le sujet Re:Bug ?
Je crois que la remarque d'Arnaud au sujet d'Unicode est judicieuse.

Je pense que ce sujet ne passionne plus les foules, mais je cite p103 du livre de Bruce Payette (un des designer de Powershell)

opérateur de comparaisons :

i pour insensible à la casse
c pour sensible à la casse

\"abc\" -eq \"ABC\"
True
\"abc\" -ieq \"ABC\"
True
\"abc\" -ceq \"ABC\"
False

alors merci de me dire en quoi ces opérateurs ne sont pas nativement utilisables pour le type chaine si l'un des co-fondateur de Powershell l'écrit.

Cordialement

Jerome

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

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