此为 Mathematica 7 文档,内容基于更早版本的 Wolfram 语言
查看最新文档(版本11.2)

Scan

Scan[f, expr]
依次将 f 应用到 expr 的每个元素并对其进行计算。
Scan[f, expr, levelspec]
f 应用到 expr 中由 levelspec 指定的部分。
  • Scan[f, expr] 丢弃将 f 应用到 expr 中的子表达式得到的结果,与 Map 不同,Scan 返回时不创建新的表达式。
  • 您可以用 Return 退出 ScanReturn[ret]Scan 的最后值设置为 ret。如果没有指定明确的返回值,Scan 的最后结果是 Null
  • Scan 在对表达式的部分执行类似进行赋值这样一个具有"单向"特点的操作是有用的。
  • Scan使用标准的层次指定:
n从第 1 层到第 n
Infinity从第 1 层到 Infinity
{n}仅在第 n
{n1,n2}从第 n1 层到第 n2
  • Scanlevelspec 的缺省值是 {1}
  • 正层的 n 由指标 n 指定的 expr 所有部分组成。
  • 负层的-n 由带有深度 n expr 所有部分组成。
  • -1 由不带子集的数值、符号和其它对象组成。
  • 0 对应于整个表达式。
  • Scan 按深度优先的顺序访问 expr 的子集。
  • 如果 expr 是一个 SparseArray 对象,Scan[f, expr]f 应用到 expr 中的值和子列表中。
1 的新功能 | 5 中的修改功能