VBS For Next 주기의 세부 사항

1989 단어
For Next 문의 기본 구조는 다음과 같습니다.
 
  
For counter = start To end [Step step]
[statements]
[Exit For]
[statements]
Next

For Next 주기가 시작되면 Visual Basic Scripting Edition(VBScript)에서 start 값을 counter에 지정합니다.순환 중인 문장 블록을 실행하기 전에counter와end를 비교합니다.만약 counter가 end의 값을 초과했다면, For 순환이 종료되고, 제어 프로세스가 Next 이후의 문장으로 도약합니다.그렇지 않으면 순환 중인 문장 블록을 실행합니다.
VBScript가 Next를 만날 때마다,counter는 step를 추가하여 For로 돌아갑니다.이것은counter와end의 값을 다시 비교하고 결과에 따라 순환 중인 문장 블록을 계속 실행하거나 순환을 종료합니다.이 과정은 카운터가 end를 초과하거나 Exit For 문장을 만날 때까지 계속될 것이다.
이상은 상식이다. 간단하게 글자 수를 모으면 다음은 당신이 소홀히 할 수 있는 세부 사항이다.
순환 제어 변수 start end와 step는 순환이 시작되기 전에 한 번만 값을 구합니다. 순환 중인 문장 블록에서 end나 step의 값을 바꾸면 이 변화는 순환의 운행에 영향을 주지 않습니다.
간단한 VBS 스크립트 검증:
 
  
'Author: Demon
'Date: 2012-1-19
n = 10
s = 1
For i = 1 To n Step s
WScript.Echo i
n = 5
s = 2
Next
WScript.Echo n, s

우리는 순환에서 n과 s의 값을 바꾸었지만 순환은 여전히 10회 진행되었고 1부터 10까지 순서대로 출력했다. 이것은 For Next 순환 내부에 순환 제어 변수 n과 s의 복사본을 저장하고 이 내부 변수로 순환의 흐름을 제어하는 것을 의미한다.
이 세부 사항을 이해하면 우리가 효율적이고 간결한 코드를 쓰는 데 도움이 된다.
 
  
'Author: Demon
'Date: 2012-1-19
s = "http://jb51.net"
For i = 1 To Len(s)
WScript.Echo Mid(s, i, 1)
Next

' C Style
' VBS For Next
l = Len(s)
For i = 1 To l
WScript.Echo Mid(s, i, 1)
Next

주의해야 할 것은 순환에서counter를 바꾸는 것은 허용되지만, 스크립트를 읽거나 디버깅하기 어려울 뿐, 이렇게 하는 것은 피해야 한다.
 
  
'Author: Demon
'Date: 2012-1-19
For i = 1 To 10
WScript.Echo i
i = i + 2 '
Next

참조 링크:http://msdn.microsoft.com/en-us/library/sa3hh43e%28v=vs.85%29.aspx텍스트:http://demon.tw/programming/vbs-for-next.html

좋은 웹페이지 즐겨찾기