문제

나는 다음을 할 수 있기를 원합니다:

For Each thing In things
End For

클래식 ASP - .NET이 아닙니다!

도움이 되었습니까?

해결책

당신의 [사물]이 무엇이든 VBScript 외부에서 작성되어야 합니다.

VB6에서는 Custom Collection 클래스를 작성할 수 있습니다, ActiveX DLL로 컴파일하고 웹 서버에 등록하여 액세스해야 합니다.

다른 팁

이 같은?

dim cars(2),x
cars(0)="Volvo"
cars(1)="Saab"
cars(2)="BMW"

For Each x in cars
  response.write(x & "<br />")
Next

보다 www.w3schools.com.

키와 값을 연관시키려는 경우 사전 객체를 사용하세요 대신에:

Dim objDictionary
Set objDictionary = CreateObject("Scripting.Dictionary")
objDictionary.Add "Name", "Scott"
objDictionary.Add "Age", "20"
if objDictionary.Exists("Name") then
    ' Do something
else
    ' Do something else 
end if

당신이 얻을 수있는 가장 가까운 것은 사전을 사용하는 것입니다 (Pacifika에서 언급했듯이)

Dim objDictionary
Set objDictionary = CreateObject("Scripting.Dictionary")
objDictionary.CompareMode = vbTextCompare 'makes the keys case insensitive'
objDictionary.Add "Name", "Scott"
objDictionary.Add "Age", "20"

하지만 나는 컬렉션처럼 내 사전을 반복해서 살펴봅니다.

For Each Entry In objDictionary
  Response.write objDictionary(Entry) & "<br />"
Next

이 방법으로 전체 사전을 반복하여 다음과 같은 값을 작성할 수 있습니다.

Scott
20

당신은 또한 이것을 할 수 있습니다

For Each Entry In objDictionary
  Response.write Entry & ": " & objDictionary(Entry) & "<br />"
Next

어느 것이 생산할 것인가

 Name: Scott
 Age: 20

이전에 사용한 한 가지 접근 방식은 반복할 수 있는 배열을 반환하는 컬렉션의 속성을 사용하는 것입니다.

Class MyCollection
    Public Property Get Items
        Items = ReturnItemsAsAnArray()
    End Property
    ...
End Class

다음과 같이 반복하세요:

Set things = New MyCollection
For Each thing in things.Items
    ...
Next

Brett이 말했듯이 vb 구성 요소를 사용하여 컬렉션을 만드는 것이 좋습니다.사전 개체는 특정 요구 기반 응용 프로그램이 아닌 이상 ASP에서 일반적으로 사용되지 않습니다.

VB 스크립트 사전 개체를 사용할 때는 매우 주의하세요!
이것만 알아내세요"자가살생" 항목은 이 개체의 기본 항목입니다. http://en.wikipedia.org/wiki/Autovivification

따라서 값을 비교해야 할 때 다음과 같은 부울 비교를 사용하지 마십시오.
If objDic.Item("varName") <> "" Then...
이것은 자동으로 키 추가 "varName"를 사전에 추가합니다(존재하지 않는 경우 빈 값 사용). 부울 표현식 평가를 계속합니다.

필요한 경우 대신 사용하세요. If objDic.Exists("varName").

이 Mcrosoft를 사용하여 며칠 동안 벽을 두드리는 것만으로도 충분합니다.특징"...
vbscript-사전-객체-존재하지 않았지만 다른 객체에 존재하는 키 생성

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top