14.1.1.1 分页屏幕输出

在交互式运行时,Octave 通常会将所有输出直接发送到命令窗口。但是,使用 Octave 的 CLI 版本时,这可能会产生一个问题:大量数据会在您来得及阅读之前就滚动过去。在这种情况下,最好使用分页程序(如 lessmore),它一次只显示一屏内容。使用 less(以及某些版本的 more),您还可以向前和向后滚动,并搜索特定内容。通过命令 more on 可以启用分页器。

通常情况下,分页器不会显示任何输出,直到 Octave 即将打印顶层提示符或准备从标准输入读取数据时(例如,使用 fscanfscanf 函数)。这意味着,如果您让 Octave 通过一条命令语句执行大量工作,屏幕上可能会有一些延迟才会出现输出。可以使用 fflush 函数强制将输出立即发送到分页器(或任何其他流)。

您可以使用 PAGER 函数选择要用作分页器的程序,并使用 PAGER_FLAGS 函数配置分页器本身的选项。

 
more
more on
more off

打开或关闭输出分页。

不指定参数时,more 会切换当前状态。

当前状态可通过 page_screen_output 查询。

另请参阅: page_screen_output, page_output_immediately, PAGER, PAGER_FLAGS.

 
val = PAGER ()
old_val = PAGER (new_val)
old_val = PAGER (new_val, "local")

查询或设置内部变量,该变量指定用于在系统上显示终端输出的程序。

默认值通常是 "less""more""pg",具体取决于系统上安装的程序。请参阅 安装 Octave

当从带有 "local" 选项的函数内部调用时,该变量会在函数及其调用的任何子程序范围内本地更改。退出函数时恢复原始变量值。

另请参阅: PAGER_FLAGS, page_output_immediately, more, page_screen_output.

 
val = PAGER_FLAGS ()
old_val = PAGER_FLAGS (new_val)
old_val = PAGER_FLAGS (new_val, "local")

查询或设置内部变量,该变量指定要传递给分页器的选项。

当从带有 "local" 选项的函数内部调用时,该变量会在函数及其调用的任何子程序范围内本地更改。退出函数时恢复原始变量值。

另请参阅: PAGER, more, page_screen_output, page_output_immediately.

 
val = page_screen_output ()
old_val = page_screen_output (new_val)
old_val = page_screen_output (new_val, "local")

查询或设置内部变量,该变量控制是否将超过一页长度的终端窗口输出通过分页器发送。

这允许您一次查看一屏内容。一些分页器(如 less——请参阅 安装 Octave)还能够在输出中向后移动。

当从带有 "local" 选项的函数内部调用时,该变量会在函数及其调用的任何子程序范围内本地更改。退出函数时恢复原始变量值。

另请参阅: more, page_output_immediately, PAGER, PAGER_FLAGS.

 
val = page_output_immediately ()
old_val = page_output_immediately (new_val)
old_val = page_output_immediately (new_val, "local")

查询或设置内部变量,该变量控制 Octave 是否在输出可用时立即将其发送到分页器。

值为 false 时,Octave 会缓冲输出,并等待直到即将打印提示符时才将其刷新到分页器。这是默认设置。

page_screen_outputfalse 时,此变量无效。

当从带有 "local" 选项的函数内部调用时,该变量会在函数及其调用的任何子程序范围内本地更改。退出函数时恢复原始变量值。

另请参阅: page_screen_output, more, PAGER, PAGER_FLAGS.

 
status = fflush (fid)

将输出刷新到文件描述符 fid

fflush 成功时返回 0,出错时返回与操作系统相关的错误值(Unix 上为 -1)。

编程提示:刷新有助于确保所有待处理的输出在其他事件发生之前显示到屏幕上。例如,在调用 input 之前刷新标准输出流总是一个好习惯。

另请参阅: fopen, fclose.


版权所有 © 2024-2026 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号-4