FirstCase

FirstCase[{e1,e2,},pattern]

给出匹配 pattern 的第一个 ei,如果无法找到与 pattern 所匹配的,则给出 Missing["NotFound"].

FirstCase[{e1,},patternrhs]

给出与第一个匹配 patternei 对应的 rhs 的值.

FirstCase[expr,pattern,default]

如果无法找到与 pattern 匹配的元素,给出 default.

FirstCase[expr,pattern,default,levelspec]

仅查找出现在由 levelspec 指定的层的对象.

FirstCase[pattern]

表示 FirstCase 的运算符形式,可以应用到表达式.

更多信息和选项

  • FirstCase 的第一个参数不必具有头 List,并可以是一个关联.
  • FirstCase[expr,pattern:>rhs] 仅当模式被找到时运算 rhs.
  • FirstCase[{e1,e2,},pattern,default] 中,default 仅在无法找到匹配的 ei 时运算.
  • FirstCase[pattern][expr] 等价于 FirstCase[expr,pattern].
  • FirstCase 使用标准层规范:
  • n1n
    Infinity1Infinity
    {n}仅层 n
    {n1,n2}n1n2
  • FirstCaselevelspec 的默认值是 {1}.
  • 正层 nn 个指标指定的 expr 的所有部分组成.
  • 负层 -n 由深度为 nexpr 的所有部分组成.
  • -1 由数值、符号及不具有子部分的其他对象组成.
  • 0 对应于整个表达式.
  • 在选项设置为 Heads->True 时,FirstCase 查看的是表达式的头部和它们的部分.
  • FirstCase 按照深度优先的顺序遍历 expr 的各部分,叶在根之前访问.

范例

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

基本范例  (3)

在列表中查找匹配一个整数的第一个元素:

查找第一个非整数:

返回内部匹配第一个 f[x_]x

Association 中选取一个元素:

范围  (7)

使用 Cases 的运算符格式:

查找第一阶数对:

求它的和:

挑出第一个非零元素:

使用 :> 仅在找到显式元素后运算:

指定自定义的默认值:

使用层次指定检查矩阵的元素:

从嵌套关联选取元素:

选项  (1)

Heads  (1)

在表达式的元素间查找一个符号:

将表达式的头部也包括在搜索中:

属性和关系  (4)

只在需要时运算默认值:

FirstCase 仅返回第一个匹配的元素:

Cases 返回所有匹配元素:

FirstCase 可以使用 CasesReplace 的组合实现:

FirstCaseSelectFirst 相似,除了它使用模式而非函数:

选择第一个元素和小于10的列表:

使用 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 年

BibTeX

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

BibLaTeX

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