跳转到内容

Alcor6L/eLua/term

来自维基教科书,开放世界中的开放书籍

此模块包含用于从 Lua 访问与 ANSI 兼容的终端(和终端模拟器)的函数。

term.clrscr

[编辑 | 编辑源代码]

清除屏幕

term.clrscr()

term.clreol

[编辑 | 编辑源代码]

从当前光标位置清除到行尾

term.clreol()

term.moveto

[编辑 | 编辑源代码]

将光标移动到指定的坐标

term.moveto( x, y )
  • x - 列(从 1 开始)
  • y - 行(从 1 开始)

term.moveup

[编辑 | 编辑源代码]

将光标向上移动

term.moveup( delta )
  • delta - 向上移动光标的行数。

term.movedown

[编辑 | 编辑源代码]

将光标向下移动

term.movedown( delta )
  • delta - 向下移动光标的行数

term.moveleft

[编辑 | 编辑源代码]

将光标向左移动

term.moveleft( delta )
  • delta - 向左移动光标的列数

term.moveright

[编辑 | 编辑源代码]

将光标向右移动

term.moveright( delta )
  • delta - 向右移动光标的列数

term.getlines

[编辑 | 编辑源代码]

获取终端中的行数

numlines = term.getlines()

返回值

  • numlines - 终端中的行数

term.getcols

[编辑 | 编辑源代码]

获取终端中的列数

numcols = term.getcols()

返回值

  • numcols - 终端中的列数

term.print

[编辑 | 编辑源代码]

在终端中写入一个或多个字符串

term.print( [ x, y ], str1, [ str2, ..., strn ] )
  • x(可选) - 在此列写入字符串。如果指定了 x,则也必须指定 y
  • y(可选) - 在此行写入字符串。如果指定了 y,则也必须指定 x
  • str1 - 要写入的第一个字符串
  • str2(可选) - 要写入的第二个字符串
  • strn(可选) - 要写入的第 n 个字符串

获取光标的当前列

cx = term.getcx()

返回值

  • cx - 光标的列

term.getcy

[编辑 | 编辑源代码]

获取光标的当前行

cy = term.getcy()

返回值

  • cy - 光标的行

term.getchar

[编辑 | 编辑源代码]

从终端读取一个字符(按键按下)

ch = term.getchar( [ mode ] )
  • mode(可选) - 终端输入模式。它可以是
    • term.WAIT - 等待按键按下,然后返回它。这是未指定 mode 时的默认行为。
    • term.NOWAIT - 如果终端上按下了键,则返回它,否则返回 -1。

返回值

  • ch - 从终端读取的字符,如果没有字符可用,则为 -1。'char' 可以是实际的 ASCII 字符,也可以是编码键盘上特殊键的“伪字符”。特殊字符及其含义的列表在下表中给出
键码 含义
KC_UP 终端上的 UP 键
KC_DOWN 终端上的 DOWN 键
KC_LEFT 终端上的 LEFT 键
KC_RIGHT 终端上的 RIGHT 键
KC_HOME 终端上的 HOME 键
KC_END 终端上的 END 键
KC_PAGEUP 终端上的 PAGE UP 键
KC_PAGEDOWN 终端上的 PAGE DOWN 键
KC_ENTER 终端上的 ENTER (CR) 键
KC_TAB 终端上的 TAB 键
KC_BACKSPACE 终端上的 BACKSPACE 键
KC_ESC 终端上的 ESC (转义) 键
华夏公益教科书