Utilizzo Expect da alcuni anni, ma ancora non mi è chiaro se lo send_user
è lo stesso di puts
. Ogni volta che voglio inviare un messaggio informativo all'utente, mi chiedo quale usare. Dalla pagina man di Expect, sembra che send_user
sia lo stesso di puts
ma che cosa è utilizzato per lo send_user
?Qualsiasi differenza tra "send_user" e "puts" in Expect
risposta
Un'altra differenza che ho appena scoperto tra i due, a parte la cosa nuova riga, è che se si sta utilizzando log_file
nello script Expect, le dichiarazioni inviate tramite send_user
renderà nel file di log, considerando che le dichiarazioni inviati con puts
non lo fanno . Se stai automatizzando alcuni script Expect che non vengono eseguiti sulla tua console, ciò può fare una grande differenza.
La differenza principale è che puts
aggiunge automaticamente una nuova riga e send_user
no. A questo proposito, puts -nonewline
è più analogo a send_user
.
send_user
anche "eredita" alcune opzioni da si aspettano da di send
, come ad esempio -s
e -h
(controllare la pagina man aspettarsi per i dettagli). Vedere http://99-bottles-of-beer.net/language-expect-249.html per l'utilizzo del flag -h
.
Non riesco a parlare di come sono implementati a livello C.
Essi devono essere uguali; Aspettarsi che preceda molto il trattamento dell'IO di Tcl stesso ... –