Neugierig, was ist die Idee dahinter:
@() -as [bool]
# False
@($null) -as [bool]
# False
@($null, $null) -as [bool]
# True
Ich würde erwarten, entweder Falsch/True/Wahr oder Falsch/Falsch/Falsch, aber nicht falsch/Falsch/Wahr.
Neugierig, was ist die Idee dahinter:
@() -as [bool]
# False
@($null) -as [bool]
# False
@($null, $null) -as [bool]
# True
Ich würde erwarten, entweder Falsch/True/Wahr oder Falsch/Falsch/Falsch, aber nicht falsch/Falsch/Wahr.
Wie in der Powershell Schnell reference¹ skizziert:
True False ~~~~ ~~~~~ $TRUE $FALSE Any string of length > 0, except the word “false” Empty string or the string “false” Any number ≠ 0 Any number = 0 Array of length > 1 Array of length 0 Array of length 1 whose element is true Array of length 1 whose element is false A reference to any object Null
Ich denke, die Idee dahinter, dass ein Array $false
mit nur einem Element war leicht, wenn Sie die Ausgabe eines Cmdlets/Funktion in ein Array setzen passieren kann . Sie könnten mehr Werte erwarten, aber ein Fehler führte dazu, dass es $false
zurückgibt, aber $false
zweimal im Array könnte in diesem Fall unwahrscheinlich sein.
Oder vielleicht sollten wir warten auf Jeffrey Snover hier zu beantworten :-)
¹ C: \ Windows \ System32 \ Windows \ v1.0 \ Dokumente \ en-US \ QuadFold.rtf auf meinem Rechner
Alles klar mit dem Zitat, aber was ist die Idee hinter diesem Verhalten? Kannst du ein Beispiel geben ? –
War ein Anwendungsfall, auf den ich bisher nicht gestoßen bin. von meinem Kopf kann ich kein überzeugendes Beispiel geben, tut mir leid. Die meisten Dinge, die ich kürzlich in PS getan habe, waren das Lösen von Project Euler-Problemen und das ist kaum der richtige Bereich für diese Sprache :-) Aber ich werde darüber nachdenken, vielleicht werde ich ein überzeugendes Beispiel finden. – Joey
Dieses Zitat brachte eine neue Frage hervor ... "Leere Zeichenfolge oder die Zeichenfolge" false "", aber ich sehe True versucht "falsch" -als [bool]. Und ein kleiner Tippfehler "Array der Länge> 0", sollte es "Array der Länge> 1" sein, wie ich in meiner .rtf sehe. – alex2k8