Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

개발, 부동산, 의정부, etc

Execute 문 본문

개발/classic asp

Execute 문

NaCl대표 2018. 12. 4. 11:27

Execute 문

하나 이상의 지정된 문을 실행합니다.

Execute statement

필요한 statement 인수는 하나 이상의 실행문을 포함한 문자식입니다. 문장을 구분하는 콜론이나 내장 줄 바꿈을 사용하여 statement 인수에 다중문을 포함할 수 있습니다.

참고

VBScript에서는 x = y가 두 가지 방법으로 해석될 수 있습니다. 첫째는 할당문인 경우로서 y 값이 x에 할당됩니다. 둘째는 xy가 동일한 값을 가지고 있는지 검사하는 식입니다. 동일한 값을 가지고 있을 경우 resultTrue이며, 그렇지 않은 경우 resultFalse입니다. 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

요구 사항

버전 1

참고

Eval 함수 | ExecuteGlobal 문

'개발 > 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
Comments