본문 바로가기
Programming/TclTk

Tcl 동적바인딩, 여러 값 출력

by Hunveloper 2022. 10. 20.
728x90

namespace eval NS1 {
}

proc NS1::PRINT { str } {
    puts str
}

namespace eval NS2 {
}

proc NS2::PRINT { str } {
    puts str
}

위와 같은 namespace와 procedure이 존재할때 main에서 각각의 값을 호출하기 위해서는 아래와 같이 호출해야 한다.

$NS1::PRINT
$NS2::PRINT

 

위의 경우 두개의 네임스페이스가 존재하지만 만약에 네임스페이스가 많아지고, 동일한 작업들을 반복한다면 번거로워 질것이다.

 

namespace eval NS1 {
}

proc NS1::PRINT {} {
	puts "printing NS1"
}

namespace eval NS2 {
}

proc NS2::PRINT {} {
	puts "printing NS2"
}

NS1::PRINT
NS2::PRINT

puts "\n====new line====\n"

foreach T {NS1 NS2} {
	$T\::PRINT
}

foreach문을 이용하여 namespace혹은 procedure명을 자동으로 불어와준다면 반복적인 함수 호출에 대해서 손쉽게 대응할 수 있다

728x90
728x90

'Programming > TclTk' 카테고리의 다른 글

Tcl 특정 경로, 파일을 제외하고 다운로드  (0) 2023.04.27
TCL 동적 변수 사용  (0) 2023.01.19
Tcl namespace eval command  (1) 2022.09.16
TK X 이벤트와 Tcl 명령의 연결  (0) 2022.09.13
TK Pack 형상 관리자  (0) 2022.09.13

댓글