Slot

#

表示提供给纯函数的第一个参数.

#n

表示第 n 个参数.

#name

表示在第一个参数中的一个相关性中与键值 "name" 相关联的数值.

更多信息

  • # 用于表示形如 body&Function[body] 的纯函数中的参数或形式参数.
  • # 等价于 Slot[1].
  • #n 等价于 Slot[n]. n 必须是正整数.
  • #0 返回函数的头部,也即纯函数本身.
  • 当应用于一个相关性时,#name 等价于 #["name"] 并且在相关性中挑出元素.
  • 在格式 #name 中,name 中的字符可以是不以数字开头的字母数字的任意组合.

背景

  • Slot[1] 表示提供给纯函数的第一个参数. 表达式 Slot[1] 可以紧凑的记为井字符 #,或用更显式的 #1 形式表示. 纯函数的第 个参数可被表示为 Slot[n],通常又被记为 #n. 纯函数的第零个参数 #0 是它的头部.
  • Slot 通常被用在 Function 内部. 在形如 (body &) 的纯函数中,# 被用在 body 中来表示参数或形式参数. 可以用 f[#3,#2,#1]&[x,y,z] 来作为应用 Slot 的例子,其求值结果是 f[z,y,x].
  • 提供给纯函数的参数序列可以用 SlotSequence 表示(其简写为 ##n).
  • 当纯函数嵌套时,使用 Slot 是有歧义的,在这种情况下参数必须用带有命名参数的显式 Function 构造来指定.

范例

打开所有单元关闭所有单元

基本范例  (3)

# 表示纯函数的第一个参数:

使用标号的参数:

从相关性中使用已命名参数:

范围  (5)

对于 #1(第一个参数)# 较短:

#name#["name"] 的简短形式:

#name 解释为 Slot["name"]:

#name 经常指的是第一个参数中的相关性:

从相关性插槽而不是第一个插槽中提取:

推广和延伸  (1)

#0 表示整个纯函数:

应用  (1)

创建有 5 个参数的纯函数:

属性和关系  (3)

在不给出名称的情况下,# 允许指代函数参数:

忽略其它的参数:

## 表示所有参数的序列:

可能存在的问题  (3)

用明确的名称建立嵌套的纯函数:

对内部函数用 #

对外部函数用 #

用不同的嵌套 # 标记行为:

如果提供过少参数,产生一个信息:

# 和下面的令牌之间的空格解释为乘号:

巧妙范例  (1)

#0 对阶乘用递归定义:

Wolfram Research (1988),Slot,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Slot.html (更新于 2014 年).

文本

Wolfram Research (1988),Slot,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Slot.html (更新于 2014 年).

CMS

Wolfram 语言. 1988. "Slot." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2014. https://reference.wolfram.com/language/ref/Slot.html.

APA

Wolfram 语言. (1988). Slot. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/Slot.html 年

BibTeX

@misc{reference.wolfram_2024_slot, author="Wolfram Research", title="{Slot}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/Slot.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_slot, organization={Wolfram Research}, title={Slot}, year={2014}, url={https://reference.wolfram.com/language/ref/Slot.html}, note=[Accessed: 22-November-2024 ]}