缩短输出
在 Mathematica 中生成一个庞大的输出表达式时,往往并不希望一下子看到所有的表达式,而是希望先对表达式的一般结构有一个初步认识,然后才有可能深入到具体部分仔细查看.
函数 Short 和 Shallow 可以使用户得到庞大的 Mathematica 表达式的缩略形式.
| Short[expr] | 用一行显示 expr 的缩略形式 |
| Short[expr,n] | 用 n 行显示 expr 的缩略形式 |
| Shallow[expr] | 显示 expr 的顶层 |
| Shallow[expr,{depth,length}] | 显示 expr 中指定深度和长度的部分 |
显示表达式的缩略形式.
这里生成了一个很长的表达式. 将整个表达式显示出来要占用23行.
这里用一行给出了

的缩略形式,其中

表示被省略的项的个数.
Out[2]//Short= |
| |  |
Mathematica 在生成如 OutputForm 的文本格式的输出时,首先将输出写为一个长行,然后根据要求的文本宽度,将该长行切分成一些行. 这些切分后的每一行当然可能会含有上标或嵌入分式,所以在输出设备上实际显示的可能多于一行. 当在 Short 中指定某一数目的行时,Mathematica 认为要选择的是逻辑行的数目,而不是在输出设备上实际显示的自然行的数目.
这是4行形式的

. 在这个例子中更多的项被显示出来.
Out[3]//Short= |
| |  |
Short 在其它形式中也有效,比如在 StandardForm 和 TraditionalForm 等形式中. 当使用这些形式时,自动换行由输出被显示时的笔记本界面决定,而不是由输出被创建时的内核决定. 因此,对由 Short 生成的行数的设定,只能近似于屏幕上实际显示的行数.
Out[4]//Short= |
| |  |
Short 指令通过删除表达式中的一些项使得结果中的输出形式能放在所指定的行数内. 但有时最好不指定输出结果中有多少行,而是指定要丢掉表达式中的哪些项. Shallow[expr, {depth, length}] 仅包含任意函数的 length 个变量,丢掉指定深度之下的所有子表达式.
| Out[5]//Shallow= |  |
这里仅包含每个函数的10个变量,而对深度没有限制.
| Out[6]//Shallow= |  |
Shallow 在以统一的方式删除多层嵌套表达式中的项时特别有用,例如 Trace 返回值所产生的大列表结构.
| Out[7]= |  |
| Out[9]//Shallow= |  |
Short 给出了一个较难理解的不统一的缩略形式.
Out[10]//Short= |
| |  |
当在笔记本界面中生成的输出过于庞大时,Mathematica 自动在输出时应用 Short. 这种用户界面的改善可以避免 Mathematica 使用过多的时间对用户可能并不想要的打印输出进行生成和格式化.
| Out[11]= |  |
用户界面中的按钮允许用户对输出的多少进行控制. 使该行为生效的尺寸临界值由输出表达式的字节计数决定. 该字节计数可以在笔记本界面的 偏好设置 对话框中设置,这一对话框由按钮 设定大小限制 打开.