Ich habe so etwas geschrieben, um Standardwerte für Eingabeaufforderungen anzugeben.
%Vor%Kann es weiter verkürzt werden?
Hier ist mein Versuch.
%Vor%Ich möchte ein Einzeiler, also werde ich bis dahin eine Antwort akzeptieren.
N.b. $defaultValue
sollte unabhängig von dem einen Liner gespeichert werden. Ähnlich wie im obigen Beispiel.
Ich habe die Antwort akzeptiert, die mich zu der Lösung geführt hat, nach der ich gesucht habe.
%Vor%Und für diejenigen, die fragen, warum. Der Grund ist, weil es für die Augen derer, die nach mir kommen, leichter ist. Weniger ist immer mehr, wenn Klarheit nicht geopfert wird. IMHO.
BEARBEITEN;
Statt einer einzigen Zeile hätte ich vielleicht einen Satz sagen sollen? Ich habe diesen Schnitt hinzugefügt, während einige Antworten, die ich gesehen habe, ein Semikolon verwenden.
Dies wurde einfach zusammengeworfen, um einen zuvor eingegebenen Konfigurationswert wiederzuverwenden, während der Benutzer es bei Bedarf noch ändern kann ... Die akzeptierte Antwort fehlt der Zuweisungsabschnitt und verwendet einen festcodierten "Standard" -Wert ...
Es gibt eine Funktion (aus anderen Sprachen), die "Ternärer Operator" oder "Binärer Operator" ( Ссылка ) genannt wird ) (das 'xx: yy? zz' -Stil) und es gibt mehrere Personen, die Funktionen zur Implementierung ihres Verhaltens in Powershell übergeben haben.
Sie können auch eine switch-Anweisung in einer einzelnen Zeile verwenden:
%Vor% Das -regex
.+
passt auf ein oder mehrere Zeichen, das würde Leerzeichen enthalten. Vielleicht möchten Sie also den Leerraum ausstreichen, wenn Sie die Schalterübereinstimmung machen, d. h. \S.+
.
Tags und Links powershell refactoring