私は Vb スクリプトを初めて使用し、多数のパラメーターを必要とする関数 (キーワード) を作成する必要がありますが、オプションのパラメーターを使用することは Vb スクリプトでは許可されていません。
Web で調査を行ったところ、引数配列またはオブジェクト ディクショナリを使用できることに気付きました。どの場合に引数配列を使用するのが好ましいか、いつ辞書を使用する必要があるかを知りたいです。また、それぞれの場合に関数の引数に param を追加するのは簡単ですか?
私は Vb スクリプトを初めて使用し、多数のパラメーターを必要とする関数 (キーワード) を作成する必要がありますが、オプションのパラメーターを使用することは Vb スクリプトでは許可されていません。
Web で調査を行ったところ、引数配列またはオブジェクト ディクショナリを使用できることに気付きました。どの場合に引数配列を使用するのが好ましいか、いつ辞書を使用する必要があるかを知りたいです。また、それぞれの場合に関数の引数に param を追加するのは簡単ですか?
すべてのパラメーターのクラスを作成し、そのクラスの単一のインスタンスを渡すことをお勧めします。多数のパラメーターを持つメソッドを持つのは悪い設計です。配列を使用すると、パラメーターがどのインデックスにあるかを常に数えなければならないため、堅牢性が低下します。クラスを使用すると、すべての「パラメーター」にフィールドまたはプロパティという名前が付けられます。
これが私が話していることの簡単な例です:
Dim cfg : Set cfg = New CarConfig
With cfg
.MakeName = "Ford"
.ModelName = "Escort"
.StyleName = "2-Door"
.ColorName = "Blue"
.NumWheels = 4
End With
Call BuildCar(cfg)
Sub BuildCar(usingConfig)
With usingConfig
Call MsgBox( "Your " & .ColorName & " " & _
.StyleName & " " & .MakeName & " " & _
.ModelName & " has: " & _
cfg.NumWheels & " wheels.")
End With
End Sub
Class CarConfig
Public MakeName
Public ModelName
Public NumWheels
Public ColorName
Public StyleName
End Class