2015-01-27 2 views
1

я следующая ситуация:Tcl разыменования: Как разыменовывать переменной внутри строки

% set a 20 
20 
% set in_word "Value of a is \$a" 
Value of a is $a 

Теперь я хотел бы напечатать (или установить эту строку в другой переменной), Value of a is 20 при работе на переменной in_word ,

Аналогичный (возможно, более простой случай) dereferecning покрыт essay, который также связан в Tclers wik here. Корпус покрыт есть такого рода:

% set x y 
y 
% set y 20 
20 
% set [set x] 
20 
% 

В этом случае параллельно с моим вопросом в том, что у меня есть строка с переменным внутри него, а не прямым переменным. Я не уверен, как я могу применить идею в этом случае к моей проблеме. Я пробовал использовать eval, но я не получил эффекта, который хотел.

+0

'in_word' - динамически созданная переменная. – DurgaDatta

ответ

2

Команда Подст является то, что вы ищете:

puts [subst $in_word] 
-1

Если положить что-нибудь в «», он интерпретирует $ арг.

% set a 20 
20 

% set in_word "Value of a is $a" 
Value of a is 20 
Смежные вопросы