2014-10-03 7 views
0

은 Tcl의 버전 8.5을 사용하여 earlier 질문 후속 내가 가진은 Tcl 확장 대체에 문자열을받는 방법

-verilog_define GIT_VERSION=${git_ver} 

하지만 내가 어떻게 할 내 변수 git_ver의 문자열 표현을 얻으시겠습니까? 대신 중괄호의

+0

GIT_VERSION = $ {git_ver} "대신'lappend defs"-verilog_define을 사용 하시겠습니까? 문자열을 목록에 추가 할 때 변수를 대체합니다. – Jerry

답변

1

사용 따옴표 : 티클에서

lappend defs [subst {-verilog_define GIT_VERSION=${git_ver}}] 

, 큰 따옴표와 괄호 같은 수행

lappend defs "-verilog_define GIT_VERSION=${git_ver}" 

은 다른 방법은 중괄호 따옴표처럼 행동 만들기 위해 subst 명령을 사용할 수 있습니다 것은 - 그룹 단어. 유일한 차이점은 큰 따옴표는 대체를 수행하고 중괄호는 대체를 수행하지 않는다는 것입니다.

+0

마지막 대안은'lappend defs [list -verilog_define GIT_VERSION = $ {git_ver}]'입니다.하지만'git_ver'에는 "nice"와 메타 문자가 없습니다. –