Я хочу взаимодействовать после поиска файла в приглашении Tcl. т.е.Tcl взаимодействует после поиска файла.tcl
] $ tclsh myCode.tcl
// выполнить мой код
% // Переход в режим Взаимодействовать в myCode.tcl
Я хочу взаимодействовать после поиска файла в приглашении Tcl. т.е.Tcl взаимодействует после поиска файла.tcl
] $ tclsh myCode.tcl
// выполнить мой код
% // Переход в режим Взаимодействовать в myCode.tcl
Самый простой способ сделать это состоит в использовании commandloop
команда от TclX extension.
package require Tclx
#... define things and run things...
# Let the user issue commands
commandloop
Связанная страница wiki обсуждает, как это сделать, не используя TclX.
Боюсь, я слишком мало читаю в этом или слишком упрощаю его, но ... это не то, что вам нужно для команды interact
?
Если вы хотите Tcl/Ожидать что-то делать, то выход управления обратно к пользователю, пожалуйста проверить команду в будут взаимодействовать ссылки мужчина страницы ниже:
взаимодействует, выдает сообщение об ошибке: не может взаимодействовать с самонастраивающимся spawn_id для порожденного процесса – Ashwin
Хм ... так что, полагаю, вы не создаете другого процесс и использование Expect, то? Если это так, команда взаимодействия будет бесполезной. Извините, я предположил, что вы использовали Expect с вашим Tcl. – James
Если вы хотели бы сделать он в чистом tcl без каких-либо внешних пакетов, простейшая реализация подсказки tclsh очень проста. Просто поместите это в конце myCode.tcl
:
fileevent stdin readable {
puts [eval [gets stdin]]
}
vwait forever
Вы можете даже реализовать это как отдельную программу, что источники ваших других TCL скриптов.
Конечно, приведенный выше примерный код настолько прост, что он даже не распечатывает приглашение или не обрабатывает такие вещи, как многострочные команды, но это хорошая отправная точка для изменения и настройки.
См. [Этот вопрос] (http://stackoverflow.com/questions/19290982/tcl-expect-interact-command-echos-previous-output-from-spawned-rlwrap-process/19379047#19379047) - это дубликат. –
@JohannesKuhn О чем вы говорите? Это было связано с взаимодействием с подчиненным процессом, тогда как это связано с взаимодействием с текущим интерпретатором. –
Проблема такая же: «Как я могу выполнить некоторые вещи в интерпретации и дать пользователю интерактивную оболочку?». Тег [tag: expect] не помогает убедить меня в другом. ([Проблема XY] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem/66378#66378)) –