How to| 使用简写符号

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

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

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

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

还可以用后缀符号 //

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

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

    

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

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

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

    

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

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

/@ 可实现同一目的:

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

    

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

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

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

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

    

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

设置一个计算:

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

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

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

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

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

这是另一个简写符号:

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

    

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

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

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

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

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

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