面向字符串的输出格式
文本字符串.
在
Mathematica 的标准输出格式中不包含引号.
| Out[1]= |  |
Out[2]//InputForm= |
| |  |
可以将任意类型的文本放在
Mathematica 字符串中,这包括非英文字符、换行符和其它控制信息.
"字符串和字符" 一节将更深入的讨论字符串的操作.
| StringForm["cccc``cccc",x1,x2,...] | 输出一个字符串,其中相继的 用相继的 替换 |
| StringForm["cccc`i`cccc",x1,x2,...] | 输出一个字符串,其中每个 `i` 由对应的 替换 |
使用格式字符串.
在许多情况下需要使用一字符串作为"模板",而将各种
Mathematica 表达式拼接在一起输出. 这可用
StringForm 实现.
生成一个输出,其中每一个相继的

由一个表达式替换.
| Out[3]= |  |
| Out[4]= |  |
在
StringForm 中的字符串有点像的格式输出语句中的格式指令(format directive). 可以通过将表达式封装在标准输出格式函数内的途径决定在
StringForm 中表达式的输出格式.
| Out[5]= |  |
应该认识到
StringForm 仅是一种输出格式,它不以任何方式进行计算. 可以使用函数
ToString 从一个
StringForm 的对象创建一个普通字符串.
| Out[6]= |  |
Out[7]//InputForm= |
| |  |
Out[8]//InputForm= |
| |  |
StringForm 允许用户设定一个"模板字符串",然后填以各种表达式. 有时还需要将一系列表达式的输出形式连接在一起,这可以用
Row 实现.
| Row[{expr1,expr2,...}] | 给出连接在一起的 表达式的输出形式 |
| Row[list, s] | 在连续元素之间插入 s |
| Spacer[w] | 可用于 Row 的 w 个点的空格 |
| Invisible[expr] | 由 expr 的物理尺寸决定的空格 |
一系列表达式的输出.
| Out[9]= |  |
Row 也适用于排版表达式(typeset expression).
| Out[10]= |  |
Row 可以在被展示的元素之间自动插入任何表达式.
| Out[11]= |  |
| Out[12]= |  |
表达式中列的输出.
| Out[13]= |  |
不计算表达式的输出.
利用
Row 等文本字符串和函数,可以生成一段不必对应于
Mathematica 有效表达式的输出. 然而有时希望只要不进行表达式的计算,则生成的输出应对应于
Mathematica 有效表达式. 函数
Defer 可以使它的自变量不被计算但允许其被格式化成
Mathematica 的标准输出形式.
| Out[14]= |  |
| Out[15]= |  |
当
Defer 的输出被再次计算时(这种情况可以通过对输出进行修改或者使用拷贝和粘贴而发生),计算将正常进行.
下面的输出是从前面的输出单元中拷贝至一个输入单元中.
| Out[16]= |  |
通过使用
Interpretation,可以生成外观与其计算方式没有直接关联的输出. 当
Mathematica 在对某些形式的输出进行格式化,而可读性最好的形式并不与对象的内部表示良好对应时,这种方法被有效使用. 例如,
Series 在其默认输出时,总是生成一个
Interpretation 对象.
尽管这个输出显示为

,却以

进行计算.
| Out[17]= |  |
将上述输出拷贝和粘贴,所参照的值是先前赋给

的值.
| Out[18]= |  |