2011-09-06 22 views

答えて

3

伝統的にプログラミング言語では、パラメータは関数が宣言されている関数への入力を定義します。引数は、関数の呼び出し時に指定された値です。引数の値は、関数のパラメータにマップされます。これについてはWikipediaで詳しく読むことができます。

+0

私は私の答えでも言ったが、OPはparamとargの違いを質問体から求めていると思う – manojlds

9

paramで定義されたパラメータと、$argsからアクセスされる引数についてはお話ししていますか?

一般に、parameterは、メソッドのシグネチャ(メソッド宣言)の一部である変数です。引数は、メソッドを呼び出すときに使用される式です。

paramargsを区別するために、前者はパラメータの名前を使用してスクリプト(または関数など)に渡してその値(名前付き引数)を渡すことができます。または値のみ、次のスクリプトの名前test.ps1考えてみましょうparam

で定義されたスクリプトが期待するパラメータを超えると、上記位置引数へのアクセスなど、後者の指定位置引数:

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] 

をと私は出力が得られます

.\test.ps1 1 2 3 4

::私は、スクリプトを呼び出したとし

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

これは、としてそれを呼び出すことと同等です:

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

あるいは

.\test.ps1 3 4 -param2 2 -param1 1 
関連する問題