Tipps

Werte und Arrays aus Funktionen zurück liefern

Eine Funktion bei Powershell ist eigentlich nur ein benannter Scriptblock. Funktionen kann man nutzen, um Scripte übersichtlicher zu gestalten und bestimmte Funktionalitäten immer wieder aufrufbar in einen Block zu "giessen". Wenn Sie eine Funktion schreiben, soll diese fast immer auch Werte zurück liefern, mit denen Sie weiterarbeiten können. In vielen anderen Programmiersprachen verwendet man hierzu das Return-Statement. Powershell kann das grundsätzlich auch, allerdings ist das Return-Statement nicht wirklich notwendig, um Rückgaben zu erzeugen, da grundsätzlich jede Ausgabe von einer Funktion ausgegeben wird. Hierzu ein kleines Beispiel:

function Return-Value
{
    1
    Return 2
}
$Rueckgabe = Return-Value

Was befindet sich jetzt in der Variable $Rueckgabe? Nicht der Wert 2, wie man vermuten könnte, sondern $Rueckgabe ist ein Array, dass die Werte 1 und 2 enthält. Ein weiteres Beispiel:

function Return-Value
{
    1
    2 "Schoene Gruesse von Return-Value"
}
$Rueckgabe = Return-Value

$Rueckgabe ist wieder ein Array, das 3 Werte enthält, und das auch ohne Return. Return ist zur Rückgabe von Werten also nicht notwendig. Wofür benötigt man dann noch Return? Return beendet außerdem die Funktion. Befehle, die nach Return stehen, werden also nicht ausgeführt! Wenn Sie Arrays aus einer Funktion zurück liefern wollen, müssen Sie vorsichtig sein! Möchten Sie beispielsweise 2 Arrays zurückgeben, so fügt Powershell diese in der Rückgabe zu einem Array zusammen:&nb

function Return-Value 
{
$arr1 = 1,2,3,4
$arr2 = 5,6,7
$arr1
$arr2
}
$Rueckgabe = Return-Value

Rueckgabe enhält wiederum ein Array mit den Werten 1 bis 7. Geben Sie $Rueckgabe[0] an, so erhalten Sie aber nicht das erste Array, sondern nur den Werte 1. Um Powershell anzuweisen, die Arrays beizubehalten, müssen Sie der Ausgabe ein Komma voran stellen:

function Return-Value 
{
$arr1 = 1,2,3,4
$arr2 = 5,6,7
$arr1,$arr2
}
$Rueckgabe = Return-Value

Dann gibt $Rueckgabe[0] auch die Werte 1 bis 4 zurück.


 206,    02  Apr  2018 ,   Tipp
Holger Voges

  E-Mail Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!

Holger Voges ist Inhaber der Firma Netz-Weise IT-Training und seit 1999 als Trainer und Consultant tätig. Als Allrounder in den Bereichen Windows Server, Active Directory, SQL Server, Hyper-V und Windows PowerShell, hat er in der Vergangenheit zahlreiche Einsätze als Consultant in namenhaften Firmen absolviert und so neben der Theorie auch umfangreiche praktische Erfahrungen gesammelt.

 

Netz-Weise

Das Haupt-Tätigkeitsfeld von Netz-Weise sind Schulungen für Profis. Bei uns bekommen Sie das Programm für den fortgeschrittenen Praktiker, der die Tiefen des Systems ausloten möchte genauso wie Standard-Schulungen.

So erreichen Sie uns:

Netz-Weise
IT-Training und Beratung
Freundallee 13a
30173 Hannover
 
Tel: (0511) 165 925-0
Fax: (0511) 165 925-99
email: info(at)netz-weise.de
 

Newsletter bestellen

Das Wichtigste kompakt ins E-Mailfach!