【问题标题】:How to clear multi-line command in Lua interpreter?如何在 Lua 解释器中清除多行命令?
【发布时间】:2015-03-31 14:27:05
【问题描述】:

例如,如果我在 Python 中编写多行命令,我只需按 ctrl-c

在 Lua 中,对于单行,我可以按 ctrl-u 清除单行,但这对多行函数等没有任何作用。Lua 中的 ctrl-c 退出解释器。

编辑: 举个例子,我正在 Lua 中编写一个函数:

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

此时,我正要写end,我意识到我不想调用函数Test(),而是想调用它Test123(),我该如何摆脱这种情况用 Python 的ctrl-c?

【问题讨论】:

  • 我看到了,但这不是我想要的。我想知道如果我在解释器中输入命令,我将如何跳过该行并转到新行,而不是清除屏幕。

标签: lua


【解决方案1】:

您始终可以键入“;”,这将终止当前命令。在这种情况下,您会遇到语法错误(因为语句不完整),但您可以将部分命令用于新命令。

【讨论】:

    【解决方案2】:

    即使 Lua 正在读取多行语句,它也会通过调用 readline 逐行读取它。效果是只能编辑当前行,不能编辑整条多行。

    在 Python 中似乎也发生了同样的事情(当多行语句由 \ 延续表示时)。然而,Python 似乎处理 ctrl-c 与 Lua 不同:它以某种方式捕获 ctrl-c 并返回到提示符,而 Lua 在输入期间没有为 ctrl-c 设置信号处理程序,因此中止程序,这是默认操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-08
      • 2014-03-10
      • 1970-01-01
      • 2012-07-01
      相关资源
      最近更新 更多