Возможно, есть способы сделать это, я не разбираюсь в ожиданиях, но вы также можете определить вашу команду expect
:
proc my.expect args {
uplevel [list expect \
-nocase "this" { do_this_stuff } \
-nocase "that" { do_that_stuff } \
-nocase "others" { do_other_stuff } \
{*}$args]
}
Это предполагает, что вы сознательно используете my.expect
в каждом случае.
Вы также можете заменить expect
на месте, используя interp hide
или явное rename
:
interp hide {} expect
proc expect args {
uplevel [list interp invokehidden {} expect \
-nocase "this" { do_this_stuff } \
-nocase "that" { do_that_stuff } \
-nocase "others" { do_other_stuff } \
{*}$args]
}