FirstCase
FirstCase[{e1,…},patternrhs]
给出与第一个匹配 pattern 的 ei 对应的 rhs 的值.
FirstCase[expr,pattern,default]
如果无法找到与 pattern 匹配的元素,给出 default.
FirstCase[expr,pattern,default,levelspec]
仅查找出现在由 levelspec 指定的层的对象.
更多信息和选项
- FirstCase 的第一个参数不必具有头 List,并可以是一个关联.
- FirstCase[expr,pattern:>rhs] 仅当模式被找到时运算 rhs.
- 在 FirstCase[{e1,e2,…},pattern,default] 中,default 仅在无法找到匹配的 ei 时运算.
- FirstCase[pattern][expr] 等价于 FirstCase[expr,pattern].
- FirstCase 使用标准层规范:
-
n 层 1 至 n Infinity 层 1 至 Infinity {n} 仅层 n {n1,n2} 层 n1 至 n2 - 在 FirstCase 中 levelspec 的默认值是 {1}.
- 正层 n 由 n 个指标指定的 expr 的所有部分组成.
- 负层 -n 由深度为 n 的 expr 的所有部分组成.
- 层 -1 由数值、符号及不具有子部分的其他对象组成.
- 层 0 对应于整个表达式.
- 在选项设置为 Heads->True 时,FirstCase 查看的是表达式的头部和它们的部分.
- FirstCase 按照深度优先的顺序遍历 expr 的各部分,叶在根之前访问.
范例
打开所有单元关闭所有单元基本范例 (3)
范围 (7)
属性和关系 (4)
FirstCase 仅返回第一个匹配的元素:
Cases 返回所有匹配元素:
FirstCase 可以使用 Cases 和 Replace 的组合实现:
FirstCase 与 SelectFirst 相似,除了它使用模式而非函数:
使用 SelectFirst 获得相同结果:
可能存在的问题 (1)
使用 HoldPattern 将规则本身作为一种模式对待:
Wolfram Research (2014),FirstCase,Wolfram 语言函数,https://reference.wolfram.com/language/ref/FirstCase.html.
文本
Wolfram Research (2014),FirstCase,Wolfram 语言函数,https://reference.wolfram.com/language/ref/FirstCase.html.
CMS
Wolfram 语言. 2014. "FirstCase." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/FirstCase.html.
APA
Wolfram 语言. (2014). FirstCase. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/FirstCase.html 年