tcl - ¿Hay alguna diferencia entre "enviar_usuario" y "pone" en Esperar?
expect (2)
He estado usando Expect durante algunos años, pero aún no está claro si send_user
es lo mismo que puts
. Cada vez que quiero enviar un mensaje informativo al usuario, me pregunto cuál debo usar. Desde la página de manual de Expect, parece que send_user
es el mismo que puts
pero ¿para qué se usa send_user
?
La principal diferencia es que puts
automáticamente anexa una nueva línea y send_user
no. En este sentido, puts -nonewline
es más análogo a send_user
.
send_user
también "hereda" algunas opciones del send
de expectativa, como -s
y -h
(consulte la página de manual de expect para obtener más información). Vea http://99-bottles-of-beer.net/language-expect-249.html para un uso de la bandera -h
.
No puedo hablar de cómo se implementan en el nivel C.
Otra diferencia que acabo de descubrir entre las dos, aparte de la nueva línea, es que si está utilizando log_file
en su script Expect, las declaraciones enviadas a través de send_user
lo harán en el archivo de registro, mientras que las declaraciones enviadas con puts
no lo hacen. Si está automatizando algunos scripts Expect que no se están ejecutando en su consola real, eso puede hacer una gran diferencia.