2015-03-31 59 views
4

例如,如果我在Python中編寫多行命令,我可以只按ctrl-c如何清除Lua解釋器中的多行命令?

在Lua中,對於一行,我可以按ctrl-u清除一行,但對多行功能不起任何作用,等等.Lua中的ctrl-c退出解釋程序。

編輯: 舉個例子說,我寫在Lua的函數:

>> function Test() 
..> print 'Test' 
..> e 

在這一點上,我要寫end,我意識到我不想調用的函數Test(),而我想叫它Test123(),那麼我怎麼會用Python的ctrl-c來突破這個呢?

+0

檢查了這一點: http://stackoverflow.com/questions/23187310/how-do-i-clear-the-console-in-a-lua-program – 2015-03-31 14:29:29

+0

我看到了,但是這不是我正在尋找。我想知道如果我在解釋器中輸入命令,我將如何跳過該行並轉到新行,而不是清除屏幕。 – John 2015-03-31 14:31:37

回答

3

您始終可以鍵入';',這將終止當前的命令。在這種情況下,你會得到一個語法錯誤(因爲語句不完整),但是你可以使用你的命令的一部分來創建一個新的命令。

1

即使當Lua正在閱讀多行語句時,它也會通過調用readline逐行讀取它。效果是,您只能編輯當前行,而不是整個多行。

同樣的事情似乎發生在Python中(當多行語句通過\延續發出信號時)。然而,Python似乎處理與Lua不同的ctrl-c:它以某種方式捕獲ctrl-c並返回到提示符,而Lua沒有在輸入過程中設置ctrl-c的信號處理程序,因此中止程序,這是默認操作。