이 팁의 경우는 unset 커맨드를 이용해서 변수를 메모리 상에서 제거한 후 실수로 혹은 필요로 인해 변수를 액세스해야 할 경우 버그 없는 코드를 만들 때 요긴하게 쓰입니다. 아래의 경우같이 존재하지 않는 변수를 액세스 하는 경우 에러가 발생합니다.
if { $test == 1 } { }
info exist 커맨드를 사용해서 변수가 존재하는지 검사한 후 체크를 해도 되겠지만, 매번 적어주다 보면 코드가 길어지는 문제가 있습니다. 이런 기능을 하는 함수를 하나 만들어 볼까요?
proc read_var {var} {
if { [catch {set $var}] } {
return {}
}
return [set $var]
}
아래와 같이 사용합니다. 존재하지 않는 변수라면 공백을 리턴하고, 존재하는 변수라면 그의 값을 리턴합니다.
if { [read_var test] == 1 } {}
'Tcl & Tk > 팁 (Tip)' 카테고리의 다른 글
윈도우 always on top 구현 (0) | 2025.03.17 |
---|---|
Jacl을 이용한 SWT 간단 예제 (0) | 2025.03.17 |
자신의 IP 알아내기 (0) | 2025.03.17 |
C API 를 동적 라이브러리로 정의 후 TCL에서 호출 하는법 (0) | 2025.03.17 |
클립보드 사용하기 (0) | 2025.03.17 |