Давайте пространство имен и переменное пространство имен:
% namespace eval example {variable result 0}
Используйте команду variable
объявить имя result
быть переменным пространство имен в лямбда:
% apply {x {variable result ; set result [expr {$x * 100}]}} 3
% set ::example::result
# => 0
% set ::result
# => 300
Лямбда использовала глобальное пространство имен, так как мы не указали какое-либо пространство имен.
% apply {x {variable result ; set result [expr {$x * 100}]} ::example} 3
% set ::example::result
# => 300
И вот оно.
Документация: * (operator), apply, expr, namespace, set, variable
питер я нуждаюсь в срочной помощи для Tcl кода, вы можете мне помочь. Мне нужно поболтать, я могу поговорить с тобой. –
peter не стесняйтесь сообщить мне @ ace.kartik gmail. –
@KartikV: извините, я только отвечаю на вопросы здесь, на Stackoverflow. –