0

Vb 스크립트를 처음 사용 했으므로 많은 수의 param이 필요한 함수 (키워드)를 만들어야하지만 Vb 스크립트에서는 선택적 매개 변수를 사용할 수 없습니다.VBscript의 선택적 매개 변수

나는 웹 연구를했는데 인수 배열이나 객체 사전을 사용할 수 있다는 것을 알았다. 어떤 경우에는 인수 배열을 사용하는 것이 좋고 사전을 사용해야하는 경우를 알고 싶습니다. 또한, 각 경우에 함수 인수에 param을 쉽게 추가 할 수 있습니까?

답변

0

모든 매개 변수에 대해 클래스를 만들고 해당 클래스의 단일 인스턴스를 전달하는 것이 좋습니다. 많은 수의 매개 변수가있는 메서드를 사용하는 것은 좋지 않습니다. 배열을 사용하는 경우 매개 변수가있는 인덱스를 계산할 때 항상 계산해야하기 때문에 배열의 안정성이 떨어집니다. 클래스를 사용하면 모든 "매개 변수"의 이름이 필드 또는 속성이됩니다. 여기

내가 무슨 말을하는지의 간단한 예제 :

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 
+0

그래 내 모든 매개 변수를 캡슐화하고, 내가 필요로 할 때마다 메소드 add_paramater를 생성하고 호출하는 클래스를 사용하는 방법에 대해 너무 생각하고 있어요 이 클래스에 매개 변수를 추가하려면 어떻게 생각하세요? – sourh

+0

글쎄, 내가 의미했던 것은 매개 변수의 집합이 아닌 명명 된 속성의 정적 집합을 가진 클래스를 만드는 것이 었습니다. 그렇지 않으면 이름으로 매개 변수를 지정해야하며 매개 변수의 이름이 변경되고 매개 변수를 처리하는 문자열 값을 변경하는 것을 잊어 버린 경우 어떻게해야합니까? 버그로 이어질 수 있으므로 견고하지 못합니다. –

+0

맞습니다. 매개 변수 컬렉션을 가진 클래스를 가지고 있다고 생각했습니다. 매개 변수의 이름을 변경하면 getter와 setter가 있지만이 경우에 대해서는 생각하지 않았습니다. VBS를 처음 사용하기 때문에 명명 된 속성의 정적 세트를 어떻게 사용할 수 있는지에 대해 자세히 설명해 주시겠습니까? – sourh