一千萬個為什麽

搜索

如何使用while-no-input?

從文檔字符串:

只要沒有待處理的輸入,就執行BODY。
  如果輸入到達,則結束BODY的執行,   並且 while-no-input 返回t。退出使它返回零。   如果BODY結束, while-no-input 返回BODY產生的任何值。

如果我理解正確,這個宏允許我(嘗試) 在不掛起界面的情況下執行繁重的計算。那是 當然這是一個我覺得很有吸引力的概念,但我想知道 什麽時候在實踐中有用。

似乎計算可以在任何時刻中斷,具有 沒有關於發生在哪裏的信息,也沒有簡單的方法來恢復它 後來。這讓我覺得它畢竟不是那麽有用......

  • 是否建議使用 while-no-input 宏?
  • 這個宏在野外是否有任何示例用法?

最佳答案

實際上,沒有人支持恢復。當然, while-no-input 的主體可以定期執行“檢查點”,以便知道下次從哪裏開始。

但是這個功能的最初動機是在下一個命令之後計算出的信息可能無用的情況。更具體地說,它是為 icomplete 引入的,因此完成候選集的計算不會阻止用戶輸入更多的文本(這反過來又要求重新計算該組完成候選者)。

轉載註明原文: 如何使用while-no-input?