Búsqueda de sitios web

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 return para devolver un valor de la función.
  • Llame a la función definida en el paso 1 y guarde el valor devuelto.
  • Utilice Write-Host para imprimir el valor devuelto.

Utilice la palabra clave de retorno:

function returnOneValue{
    $string = "Hello"
    return $string
}
$returnedValue = returnOneValue 
Write-Host $returnedValue

PRODUCCIÓ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 clave return. 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 $returnedValue

PRODUCCIÓN :

From Function Hello

En caso de que utilice class aquí, 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 return para devolver los valores de la función.
  • Invoque la función definida en el paso 1 y guarde el valor devuelto.
  • Utilice Write-Host para 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, $age

PRODUCCIÓN :

John Williamson 50

Este 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 $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; de lo contrario, tendremos valores incorrectos. Vea el siguiente ejemplo para comprenderlo.

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, $age

PRODUCCIÓN :

John 50 Williamson

Mira, $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.

Artículos relacionados