1

メソッドの構文について:

パラメータ宣言には 2 つの構文があると聞きました。最初のものを次の目的で使用しMulT、もう 1 つを次の目的で使用しMulVます。

$MathObject = (New-Module {
    function MulT([int]$Factor1, [int]$Factor2) {
        $Factor1 * $Factor2
    }

    function MulV{
        param(
            [int]$Factor1,
            [int]$Factor2
        )
        return $a * $b
    }
} -AsCustomObject)

MulTの構文と の構文の違いは何MulVですか? どちらを使用する必要がありますか?

名前付き引数:

コマンドレットには名前付き引数を指定できます。

Multiply-IntegerFactors -Factor1 5 -Factor2 8

オブジェクトのメソッドにも名前付き引数を指定できますか? 私は次のようなことを考えています:

$MathObject.MulT(-Factor1 5, -Factor2 8)

編集:名前付き引数をそこに格納するために、ハッシュテーブルを引数として使用するのは良い解決策だと思います$MathObject.MulT(@{Faktor1=5, Faktor2=8})- または、より良い解決策はありますか?

メソッドの規約:

コマンドレット ( Verb-CamelCaseNoun) とモジュール ( CamelCaseModuleName) には厳密な命名規則があります。メソッドにも(命名)規則はありますか?

ありがとう。

4

1 に答える 1

1

パラメータの宣言方法の違いは、これら 2 つの関数に違いはありません。一般に、param() 構文を使用すると、属性を使用してパラメーターをより柔軟に変更できます。パラメータの名前と、MulV 関数の本体 ($factor1/2 および $a/$b) でのパラメータの参照方法に問題があるようです。

メソッドに名前付きパラメーターを使用する限り、それは機能しません。

于 2012-06-06T18:22:29.423 に答える