вопрос об ожидании и ткл - PullRequest
1 голос
/ 22 сентября 2011

У меня есть вопрос об ожидаемом / tcl, я ожидаю следующее

expect "class room: classroom 1"
send "classroom"

send "classroom" will return "class room: classroom 1"

, но это не соответствует, потому что ожидаемое совпадение становится

class room: classroom 1:

как обработать: "в ожидании?

Ответы [ 2 ]

1 голос
/ 22 сентября 2011

Первый совет по разработке ожидаемой программы: прежде чем spawn воспользуйтесь этой командой

exp_internal 1

Это покажет вам то, что ожидает, и вы увидите, как это происходит и не соответствует вашим ожидаемым образцам.

Далее вы можете указать регулярные выражения для своих шаблонов с помощью expect -re {^pattern$}. Режим образца по умолчанию - сопоставление в стиле glob, которое задокументировано в команде Tcl string match . Регулярные выражения Tcl задокументированы здесь .

Вы хотите закодировать это:

send "classroom\r"
expect -re {class room: classroom 1:?}
0 голосов
/ 22 сентября 2011

ожидаем, будет соответствовать любой подстроке

send "hello"
expect "he"

Это будет соответствовать. Откуда у вас второе ":"?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...