저는 Classic ASP/VBScript로 작성된 웹 응용 프로그램을 지원/향상하고 있습니다. 하루 중 어느 때라도 나를 사용했기 때문에 약 10 년이되었습니다. 나는 단지 "잡았다"라고 생각하고 내가 알고 있어야하는 것을 배워야하는 비슷한 것들을 다른 사람들이 가지고 있는지 궁금해했다.ASP/VBScript "Gotchas"
내 문제 :
SQL 테이블의 열을 10 진수로 변환해야했습니다. decimal은 vbscript에서 실제로 지원되거나 잘 지원되는 유형이 아닙니다. 그래서 다음 코드를
Dim var1, var2
var1 = rs("DecimalField1").Value
var2 = rs("DecimalField2").Value
If (var1 <> var2) Then
'Do Something'
End If
이 라인에 형식 불일치 오류로 날려겠습니까 :
var1 = CDBL(rs("DecimalField1").Value)
var2 = CDBL(rs("DecimalField2").Value)
문제가 해결 : 나는 것을 발견
If (var1 <> var2) Then
많이 검색 한 후. 그러나 그것은 명백한 것으로 보이지 않았고 왜 그 라인에서 타입 불일치를 얻었는지 알아내는 데 시간이 걸렸습니다.
제 질문은 모두에게있어서, 다른 작은 단점이 있습니까? ASP/VBScript 내에서 내가주의해야 할 "잡았다"라고 생각할 수있는 것은 무엇입니까?
불확실한 괄호가없는 명령문을 읽고 쓰는 것이 더 쉽습니다. –
표현식이라는 용어를 잘못 사용하면 문장이 표현식이 아닙니다. 표현식에서 함수를 사용할 때는 항상 괄호가 필요합니다. 나는 누구도이 실수를 시도한 적이 없으며 구문 오류로 받아 들여지지 않기 때문에 'Gotcha'가된다. – AnthonyWJones
오랫동안 살아 계신 것은 아니지만 VBScript 저자 (대부분 새로운 사람)를 여행하는 공통점이있다. 저는 진술이 표현이라고 말하지 않았습니다. 그러나 명령문에는 일반적으로 표현식이 포함됩니다. "DoSomething arg"의 경우에는 하나의 기능 호출 식으로 구성된 명령문입니다. –