Valor de retorno de la función en PowerShell
Usando la palabra clave return
PowerShell nos permite usar la palabra clave return para devolver valores únicos o múltiples de una función. Aprendamos ambos escenarios.
Utilice la palabra clave return para devolver un valor único
Para devolver un valor único de una función particular:
- Crea una función que devuelva algo, una cadena, un número o cualquier otra cosa.
- Dentro de la función definida en el paso anterior, use la palabra clave
returnpara devolver un valor de la función. - Llame a la función definida en el paso 1 y guarde el valor devuelto.
- Utilice
Write-Hostpara imprimir el valor devuelto.
Utilice la palabra clave de retorno:
function returnOneValue{
$string = "Hello"
return $string
}
$returnedValue = returnOneValue
Write-Host $returnedValuePRODUCCIÓN :
Hello
En el script anterior, creamos una función llamada returnOneValue; puedes nombrarlo como quieras. Dentro de esta función, creamos e inicializamos una variable llamada $string con un valor de tipo cadena, Hello. A continuación, utilizamos la palabra clave return para devolver el valor de la variable $string.
Fuera de este bloque de funciones, lo llamamos y guardamos el valor devuelto en la variable $returnedValue. Finalmente, utilizamos el cmdlet Write-Host para imprimir el valor de $returnedValue en la consola PowerShell.
La palabra clave return sale de un script, función o bloque de script. También podemos usarlo para salir de un alcance en un punto particular, devolver el valor especificado o indicar que se ha alcanzado el final del alcance.
En PowerShell, el resultado de cada declaración se devuelve incluso cuando no se utiliza la palabra clave
return. A partir de PowerShell 5.0 y superiores, podemos crear clases utilizando sintaxis formal. En las clases, no se devolverá nada a menos que se utilice la palabra clavereturn. Puedes conocer las clases aquí.Entendamos con la ayuda de un ejemplo:
Utilice la palabra clave de retorno:
function returnOneValue{ $string = "Hello" write-output "From Function" return $string } $returnedValue = returnOneValue Write-Host $returnedValuePRODUCCIÓN :
From Function HelloEn caso de que utilice
classaquí, obtendrá el valor de retorno que realmente devolvió la función.Utilice la palabra clave de retorno:
class test_class { [string]returnOneValue() { $string = "Hello" write-output "From Function" return $string } } $tc = New-Object -TypeName test_class $tc.returnOneValue()PRODUCCIÓN :
Hello
Utilice la palabra clave return para devolver varios valores
Para devolver múltiples valores de la función especificada:
- Cree una función que devuelva múltiples valores, cadenas, números o cualquier otra cosa.
- Dentro de la función definida en el paso anterior, use la palabra clave
returnpara devolver los valores de la función. - Invoque la función definida en el paso 1 y guarde el valor devuelto.
- Utilice
Write-Hostpara imprimir el valor devuelto.
Utilice la palabra clave de retorno:
function returnMultipleValues{
$firstName = "John"
$lastName = "Williamson"
$age = 50
return $firstName, $lastName, $age
}
$firstName, $lastName, $age = returnMultipleValues
Write-Host $firstName, $lastName, $agePRODUCCIÓN :
John Williamson 50Este script es similar al ejemplo anterior, pero devolvimos varios valores separados por una coma. De manera similar, utilizamos múltiples variables ($firstName, $lastName, $age) para almacenar los valores devueltos de returnMultipleValues función. Tenga en cuenta que utilizamos las variables ; de lo contrario, tendremos valores incorrectos. Vea el siguiente ejemplo para comprenderlo.$firstName, $lastName y $age dentro y fuera de la función, y ambas son diferentes. Además, el orden debe ser el mismo que tiene la declaración return
Utilice la palabra clave de retorno:
function returnMultipleValues{
$firstName = "John"
$lastName = "Williamson"
$age = 50
return $firstName, $lastName, $age
}
$firstName, $age, $lastName = returnMultipleValues
Write-Host $firstName, $lastName, $agePRODUCCIÓN :
John 50 WilliamsonMira, $lastName contenía la edad y $age contenía el apellido. Por lo tanto, tenga cuidado al capturar los valores devueltos.
Se trata de cómo devolver valor de una función en PowerShell.
