개발, 부동산, 의정부, etc
Execute 문 본문
Execute 문
하나 이상의 지정된 문을 실행합니다.
Execute statement
필요한 statement 인수는 하나 이상의 실행문을 포함한 문자식입니다. 문장을 구분하는 콜론이나 내장 줄 바꿈을 사용하여 statement 인수에 다중문을 포함할 수 있습니다.
참고
VBScript에서는 x = y가 두 가지 방법으로 해석될 수 있습니다. 첫째는 할당문인 경우로서 y 값이 x에 할당됩니다. 둘째는 x와 y가 동일한 값을 가지고 있는지 검사하는 식입니다. 동일한 값을 가지고 있을 경우 result는 True이며, 그렇지 않은 경우 result는 False입니다. Execute 문은 항상 첫째 방법을 사용하지만 Eval 메서드는 항상 둘째 방법을 사용합니다.
메모 Microsoft® JScript™ 할당 연산자(=)가 비교 연산자(==)와 다르기 때문에 혼동을 일으킬 염려가 없습니다.
Execute 문을 실행하는 컨텍스트는 코드를 실행하는데 사용할 수 있는 개체와 변수를 결정합니다. 내부 범위 개체 및 변수는 Execute 문에서 코드를 실행하는데 사용할 수 있습니다. 그러나 프로시저를 생성하는 코드를 실행하는 경우 해당 프로시저가 생성한 프로시저의 범위를 상속받지 않는다는 사실을 알아야 합니다.
일반 프로시저와 마찬가지로, 새로운 프로시저의 범위는 전역이며 전역 범위의 모든 것을 상속받습니다. 다른 프로시저와는 달리 이 프로시저의 컨텍스트는 전역이 아니기 때문에 Execute 문이 생성한 프로시저의 컨텍스트에서만 실행됩니다. 그러나 동일한 Execute 문이 전역 범위와 같이 프로시저의 외부에서 호출되는 경우에는 컨텍스트가 전역이기 때문에 전역 범위의 모든 것을 상속받을 뿐만 아니라 어느 곳에서든 호출할 수 있습니다. 다음은 이러한 경우에 대한 예입니다.
Dim X ' X
를전역
범위로
선언합니다
.
X = "Global" ' X
값을전역
범위로
할당합니다
.
Sub Proc1 '
프로시저를선언합니다
.
Dim X ' X
를지역
범위로
선언합니다
.
X = "Local" ' X
값을지역
범위로
할당합니다
.
' Execute
문이실행되면
여기에서
'
프로시저를만들고
X
를인쇄합니다
.
' Proc2
는전역
범위의
모든
것을
상속받아서
'
전역범위
X
를인쇄합니다
.
Execute "Sub Proc2: Print X: End Sub"
Print Eval("X") '
지역범위
X
를인쇄합니다
.
Proc2 ' Proc1
의범위에서
Proc2
를호출합니다
.
End Sub
Proc2 ' Proc2
는Proc1
의외부에서
사용할
수
없으므로
'
이줄에서
오류가
발생합니다
.
Proc1 ' Proc1
을호출합니다
.
Execute "Sub Proc2: Print X: End Sub"
Proc2 '
이제Proc2
를전역으로
사용할
수
있으므로
'
이호출은
올바로
동작합니다
.
아래 코드는 Execute 문을 다시 작성하여 전체 프로시저를 큰따옴표로 묶지 않고도 실행하는 방법을 보여줍니다.
S = "Sub Proc2" & vbCrLf
S = S & " Print X" & vbCrLf
S = S & "End Sub"
Execute S
요구 사항
참고
'개발 > classic asp' 카테고리의 다른 글
Exit 문 (0) | 2018.12.04 |
---|---|
ExecuteGlobal 문 (0) | 2018.12.04 |
Erase 문 (0) | 2018.12.04 |
Do...Loop 문 (0) | 2018.12.04 |
Dim 문 (0) | 2018.12.04 |