虚拟全书 > 笔记本和文档 > 文本输入和输出 > 面向字符串的输出格式 >

面向字符串的输出格式

"text"包含任意文本的字符串

文本字符串.

Mathematica 的标准输出格式中不包含引号.
In[1]:=
Click for copyable input
Out[1]=
在输入格式中包含引号.
In[2]:=
Click for copyable input
Out[2]//InputForm=
可以将任意类型的文本放在 Mathematica 字符串中,这包括非英文字符、换行符和其它控制信息. "字符串和字符" 一节将更深入的讨论字符串的操作.
StringForm["cccc``cccc",x1,x2,...]输出一个字符串,其中相继的 用相继的 替换
StringForm["cccc`i`cccc",x1,x2,...]输出一个字符串,其中每个 `i` 由对应的 替换

使用格式字符串.

在许多情况下需要使用一字符串作为"模板",而将各种 Mathematica 表达式拼接在一起输出. 这可用 StringForm 实现.
生成一个输出,其中每一个相继的 由一个表达式替换.
In[3]:=
Click for copyable input
Out[3]=
可以使用数字按任意顺序选择表达式.
In[4]:=
Click for copyable input
Out[4]=
StringForm 中的字符串有点像的格式输出语句中的格式指令(format directive). 可以通过将表达式封装在标准输出格式函数内的途径决定在 StringForm 中表达式的输出格式.
可以通过标准输出格式函数指定 StringForm 中表达式的输出格式.
In[5]:=
Click for copyable input
Out[5]=
应该认识到 StringForm 仅是一种输出格式,它不以任何方式进行计算. 可以使用函数 ToString 从一个StringForm 的对象创建一个普通字符串.
StringForm 生成 Mathematica 标准输出形式的格式化输出.
In[6]:=
Click for copyable input
Out[6]=
在输入形式中,可以看到实际的 StringForm 对象.
In[7]:=
Click for copyable input
Out[7]//InputForm=
这里从 StringForm 对象创建了一个普通字符串.
In[8]:=
Click for copyable input
Out[8]//InputForm=
StringForm 允许用户设定一个"模板字符串",然后填以各种表达式. 有时还需要将一系列表达式的输出形式连接在一起,这可以用 Row 实现.
Row[{expr1,expr2,...}]给出连接在一起的 表达式的输出形式
Row[list, s]在连续元素之间插入 s
Spacer[w]可用于 Roww 个点的空格
Invisible[expr]expr 的物理尺寸决定的空格

一系列表达式的输出.

Row 以一系列连接在一起的表达式的形式打印.
In[9]:=
Click for copyable input
Out[9]=
Row 也适用于排版表达式(typeset expression).
In[10]:=
Click for copyable input
Out[10]=
Row 可以在被展示的元素之间自动插入任何表达式.
In[11]:=
Click for copyable input
Out[11]=
Spacer 可用于精确控制元素间的间隔.
In[12]:=
Click for copyable input
Out[12]=
Column[{expr1,expr2,...}]左对齐的列
Column[list,alignment]按指定水平对齐方式对齐的列 (LeftCenter 或者 Right)
Column[list,alignment,s]各元素间隔为 s 个x 高度(x-heights)的列

表达式中列的输出.

将两个表达式排成一列.
In[13]:=
Click for copyable input
Out[13]=
Defer[expr]给出 expr 的输出形式且保持不对 expr 进行计算
Interpretation[e,expr]e 的形式在输出中显示,但作为 expr 进行计算

不计算表达式的输出.

利用 Row 等文本字符串和函数,可以生成一段不必对应于 Mathematica 有效表达式的输出. 然而有时希望只要不进行表达式的计算,则生成的输出应对应于 Mathematica 有效表达式. 函数 Defer 可以使它的自变量不被计算但允许其被格式化成 Mathematica 的标准输出形式.
Defer 使 不进行计算.
In[14]:=
Click for copyable input
Out[14]=
Defer 阻止了实际指令的执行.
In[15]:=
Click for copyable input
Out[15]=
Defer 的输出被再次计算时(这种情况可以通过对输出进行修改或者使用拷贝和粘贴而发生),计算将正常进行.
下面的输出是从前面的输出单元中拷贝至一个输入单元中.
In[16]:=
Click for copyable input
Out[16]=
通过使用 Interpretation,可以生成外观与其计算方式没有直接关联的输出. 当 Mathematica 在对某些形式的输出进行格式化,而可读性最好的形式并不与对象的内部表示良好对应时,这种方法被有效使用. 例如,Series 在其默认输出时,总是生成一个 Interpretation 对象.
尽管这个输出显示为 ,却以 进行计算.
In[17]:=
Click for copyable input
Out[17]=
将上述输出拷贝和粘贴,所参照的值是先前赋给 的值.
In[18]:=
Click for copyable input
Out[18]=
Ask a question about this page  |  Suggest an improvement  |  Leave a message for the team
格式:   HTML  |  CDF