Version 6 of Expect and choice

Updated 2008-08-12 11:31:42 by lars_h

[Make time to explain recurring question about expecting alternatives.]

Model question: "need something like 'if expect is {y/n} send y; if not, send quit'". Skeleton answer:

    expect {
        y/n {
            send y\r
        }
        timeout {
            send quit\r
        }
    }

The above code confuses me a bit - it looks as if it sends along to the program a "y" if the user types "y/n" - was that intentional?

escargo 11 Aug 2008 - That would seem to be a restatement of the model question. As long as the timeout is reasonable, it should work. Better would be to anticipate some other alternatives so that waiting for the timeout is less necessary.

Lars H: Isn't the situation rather that Expect is acting "user" to some other program? The program might do what it is supposed to without questions, but it might also stop to ask something (question ending with y/n), and in that case Expects acts drinking bird [L1 ] minimally pressing the 'y' key.