Считайте, что вы переименовываете команду, а затем снова пытаетесь переименовать ее, и вы увидите это сообщение об ошибке.
Error: can't rename to "tmp_read_command": command already exists
Что вы делаете, чтобы переименовать ее в первый раз, а не во второй раз. Я имею в виду, есть ли условие проверки, которое мы можем поставить, чтобы выяснить, существует ли команда.
Подробности:
Два файла:
include.tcl
proc snps_read_command { args } {
echo "Hi, I am there"
eval tmp_read_command
}
proc procedure_a { args } {
rename -force read_command tmp_read_command
rename -force snps_read_comamnd read_command
}
test.tcl
source ./include.tcl
procedure_a
source ./include.tcl
procedure_a
read_command
read_command
При выполнении вышеуказанного сценария TCL выдается следующее сообщение об ошибке:
Error: can't rename to "tmp_command": command already exists
Это происходит потому что я вызываю method_a дважды. Первый раз, он переименовывает, а второй раз, когда он пытается переименовать, он сует. Я понимаю.
Вопрос:
Что я должен написать, чтобы не делать это переименование во второй раз? Я попробовал информационные команды tmp_read_command, и это не сработало.