Tcl에 문제가 있습니다. 문자열이 들어있는 변수가 있습니다. Butt 이제이 문자열을 다음 변수의 이름으로 사용하겠습니다.Tcl 변수 이름을 변수 이름으로 지정
나는 웹에서 비슷한 질문을 발견했다. 그러나 이것들은 변수의 값을 다른 변수에 두는 것에 관한 것이다. 변수의 이름으로 사용하지 마십시오. 는 다음을 수행 할 수있다 그래서 bassicly
foreach key [array names ::openedFiles] {
puts $::openedFiles($key)
set filename [file tail $::openedFiles($key)]
set parts [split $filename .]
set name [lindex $parts 0]
puts $name
$L1 create cell $name
set "value of $name" [ layout create $::openedFiles($key) -dt_expand -log LUN.log]
: 여기
은 설명 도움이되는 샘플 코드입니다. 배열에 경로 문자열이 있습니다. 파일 확장자가없는 경로에서 파일 이름 만 가져옵니다.버트 다음 "$ name"의 값인 "셀"변수를 만들고 싶습니다. 파일 이름이 "테스트"입니다 때, $ 이름의 값은 "테스트"가 될 것이며, 나는 그래서 $ 이름의 값이 새의 이름이 될 것이라고이
set Test [ layout create $::openedFiles($key) -dt_expand -log LUN.log]
같은 마지막 행을 수행 할 변하기 쉬운. 그래서 배열의 모든 값의 이름으로 변수를 만들 수 있습니다.
도움이나 조언이 도움이 될 것입니다.
대단히 감사합니다!
이 아닌'설정 $ 이름 [레이아웃을 만들 수 있는가 변수 이름 당신이 "별명"을 만들
upvar
을하고자 생각하고 있어요 $ :: openedFiles ($ 키) -dt_expand -log LUN.log ]'직장? – Jerry없음 apperantly 없다, 나는 그런 식으로 그것을 원하고 내가 다음 코드를 추가 갈 때 원인 : '설정 cell_top [$ 이름 topcell]' 나는 그가에 대한 옵션 topcell을 찾을 수 없다는 오류가 발생 $ name. 변수를 사용하지 않고 이름 만 사용하면 트릭을 수행하므로 ... –
이 권리가 있습니까? 다른 변수의 이름을 포함하는'a' 변수를 가지고 있습니다.'b'라고 말하면'a'를 참조하여'b'에 할당하려고합니다. – nurdglaw