How to| 使用简写符号

简写符号是 Mathematica 丰富的语法体系的一部分,允许用多种方式为函数赋以参数. 使用简写符号不仅能够使代码紧凑,还使您能在 Mathematica中自定义工作流程.

Mathematica 提供了多种便捷方法,用于输入函数.

例如,将 Length 与包围一个列表的方括号合用,可得到该列表的长度:

In[1]:=
Click for copyable input
Out[1]=

在函数与列表之间使用 符号可以完成同样的任务. 使用 @,您不必移到表达式的末端来匹配方括号:

In[2]:=
Click for copyable input
Out[2]=

还可以用后缀符号

In[3]:=
Click for copyable input
Out[3]=

这些符号可扩展至任何函数及任何类型的参数:

In[4]:=
Click for copyable input
Out[4]=
In[5]:=
Click for copyable input
Out[5]=
In[6]:=
Click for copyable input
Out[6]=

对于含两个参数的函数,您可以使用中缀符号:

In[7]:=
Click for copyable input
Out[7]=
    

纯函数在 Mathematica 中使用得非常频繁. 它们的存在令您无需为一个函数定义明确的名称就可使用它. 您可以使用 Function 的简写符号给出一个纯函数.

使用 Function 给出一个纯函数,对输入进行立方运算:

In[1]:=
Click for copyable input
Out[1]=

符号 可以组合使用完成同一任务. 符号 用作变量的占位符,而符号 放在函数的代入值之前:

In[2]:=
Click for copyable input
Out[2]=
    

MapApply 对于函数式编程非常重要. 使用这些函数的简写符号会带来很大方便.

使用 Map 将一个函数映射到一个列表中的各元素:

In[1]:=
Click for copyable input
Out[1]=

可实现同一目的:

In[2]:=
Click for copyable input
Out[2]=

Apply 也有一个简写符号():

In[3]:=
Click for copyable input
Out[3]=
In[4]:=
Click for copyable input
Out[4]=
    

Mathematica 中的简写符号可以组合使用,生成高效代码.

使用 MapFunction 可将列表中的每个元素进行幂乘,并给结果加上一个符号:

In[1]:=
Click for copyable input
Out[1]=

使用 Function 的简写符号执行同一运算:

In[2]:=
Click for copyable input
Out[2]=

对此扩展,将 Map 的简写符号也包括进来:

In[3]:=
Click for copyable input
Out[3]=
    

您往往需要在一个新的计算中使用前面的输出结果. 这可以用 Out 的简写符号 实现.

设置一个计算:

In[1]:=
Click for copyable input
Out[1]=

使用 Out 的简写符号 指定最新的输出:

In[2]:=
Click for copyable input
Out[2]=

联合使用 Part 的简写符号 ,取列表中的第一个元素:

In[3]:=
Click for copyable input
Out[3]=

可以使用 表示先前的输出. 得到两个计算生成之前的输出:

In[4]:=
Click for copyable input
Out[4]=

如果想要得到的输出并非来自最近的计算,则需要使用多个 符号,这可能会比较繁琐.

这种情况下可以将特定的输出单元号与 Out 合用. 如果您运行该单元,您将从当前的笔记本进程得到 Out[17],并不一定与下面的所示相同:

In[5]:=
Click for copyable input
Out[5]=

这是另一个简写符号:

In[6]:=
Click for copyable input
Out[6]=

通过标签或简写符号表示先前的输出虽然方便,但可能会很快失控,因为当前的运算始终受约于较早的输出. 因此,您必须确保您要使用的输出可用于您当前的计算. 应谨慎使用此表示法.

    

通过字符串操作函数的简写符号,可以简化字符串的使用.

连接字符串是一种常用的字符串运算. 用 StringJoin 实现:

In[1]:=
Click for copyable input
Out[1]=

使用 StringJoin 的简写符号 ,可将同一运算写作:

In[2]:=
Click for copyable input
Out[2]=

StringExpression 是用于表示字符串的一个非常重要的函数. 它被很多字符串操作函数使用,诸如 StringReplaceStringCasesStringSplitStringMatchQ 等.

使用 StringExpression 创建一个字符串表达式对象:

In[3]:=
Click for copyable input
Out[3]=

或直接使用 StringExpression 的简写符号 ~~:

In[4]:=
Click for copyable input
Out[4]=