第`21`讲 命令 - 输出命令

86 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第45天,点击查看活动详情

21讲 命令 - 输出命令

ObjectScript支持四个命令将文字和变量值写入显示到当前输出设备:

  • WRITE 命令
  • ZWRITE 命令
  • ZZDUMP 命令
  • ZZWRITE 命令

WRITE命令

显示输出到当前设备。

WRITE:pc writeargument,...
W:pc writeargument,...

writeargument可以是以下表达式

expression
f
*integer
*-integer
  • pc 可选 - 后置表达式
	w:(1 < 2) 3
	w:(1 > 2) 3

有参数WRITE

  • expression 可选 - 写入输出设备的值。任何有效的ObjectScript表达式,包括文字,变量,对象方法和对象属性,其结果均为数字或带引号的字符串。
    w 1 + 2
  • f 可选 - 一个或多个格式控制字符,用于将输出放置在目标设备上。格式控制字符包括!#?n/助记符。参数用逗号分隔。
    • ! - 将一行移至第0列($Y递增1$X设置为0),相当与换行。
    • # - 将清除当前屏幕,并从新屏幕的顶部0列开始。($Y$X重置为0。)
    w "a",!,"b"
    w "a",#,"b"
  • ?n - 后跟一个整数或者计算结果为整数的表达式。它将输出定位在第n列位置(从第0列开始计数)
w #?1,"***",?$x+2," ***",!,"*",?$x+4,"*",?$x+3," *",!,?1,"*",?$x+2,"tyu",?$x+2,"*",!,?3,"*",?$X+2," *",!,?5,"*"
  • 可以指定格式控制字符的任意组合,而无需插入逗号,但是必须使用逗号将格式控制与表达式分开。
    w #!!!?6,"Hello",!,"world!"

格式控制位置到屏幕的顶部(#),然后发出三行返回(!!!),然后缩进六列(?6)。然后,WRITE显示字符串Hello,执行格式控制行返回(!),然后显示字符串world!

  • *integer 可选 - 星号整数代码,表示要写入输出设备的字符。对于ASCII,范围是0255之间的整数;对于Unicode,范围是065534之间的整数。任何有效的ObjectScript表达式,其计算结果为适当范围内的整数。
    w *23002,*37995
    w !,"Cach",$char(233)
	w !,*67,*97,*99,*104,*233
  • 特殊字符输出终端的铃声。
    w *7
  • *-integer 可选 - 指定设备控制操作的星号负整数代码。
Code设备操作
*-1在下一次读取时清除输入缓冲区。
*-2断开TCP设备或命名管道的连接。
*-3将输出缓冲区刷新到设备。这将强制写入磁盘上的文件。
*-9在当前文件指针位置截断顺序文件的内容。为了截断文件,必须打开文件(使用OPEN命令至少具有“RW”访问权限),并且必须将其建立为当前设备(使用USE命令)。
*-10立即清除输入缓冲区。
*-99发送压缩的流数据。