2011-09-06 613 views

Respuesta

3

Tradicionalmente en los lenguajes de programación, el parámetro define las entradas a una función donde se declara la función. Los argumentos son los valores proporcionados al llamar a la función. Los valores del argumento se correlacionan con los parámetros de la función. Puede leer más sobre esto en Wikipedia.

+0

Lo dije también en mi respuesta, pero supongo que el OP está pidiendo la diferencia entre param y args del cuerpo de la pregunta – manojlds

9

¿Está hablando del parámetro definido con param y argumentos a los que se accede a través del $args?

En general, parámetro es la variable que forma parte de la firma del método (declaración del método). Un argumento es una expresión utilizada al llamar al método.

Sin embargo, para el propósito de diferenciar param y args, se puede considerar al primero como la definición de los parámetros que se pueden pasar ya sea a la secuencia de comandos (o función etc.) utilizando el nombre del parámetro y el suministro de su valor (argumento con nombre) o argumentos posicionales que especifican sólo los valores y el segundo como el acceso a argumentos posicionales más allá de los parámetros esperados por el script como se define en el param

Consideremos el siguiente script llamado test.ps1:

param($param1,$param2) 

write-host param1 is $param1 
write-host param2 is $param2 

write-host arg1 is $args[0] 
write-host arg2 is $args[1] 

y supongo que llamo el script como:

.\test.ps1 1 2 3 4

voy a obtener la salida:

param1 is 1 
param2 is 2 
arg1 is 3 
arg2 is 4 

Esto es equivalente a llamar como:

.\test.ps1 -param1 1 -param2 2 3 4 

o incluso

.\test.ps1 3 4 -param2 2 -param1 1 
Cuestiones relacionadas