Scan

Scan[f, expr]
依次将 f 应用到 的每个元素上并对其进行计算.

Scan[f, expr, levelspec]
f 应用到 expr 中由 levelspec 指定的部分.

更多信息更多信息

  • Scan[f, expr] 丢弃将 f 应用到 expr 中的子表达式得到的结果,与 Map 不同,Scan 返回时不创建新的表达式.
  • 您可以用 Return 退出 Scan. Return[ret]Scan 的最后值设置为 ret. 如果没有指定明确的返回值,Scan 的最后结果是 Null.
  • 您也可以使用 ThrowScan 退出.  »
  • Scan 在对表达式的部分执行类似进行赋值这样一个具有"单向"特点的操作是有用的.
  • Scan使用标准的层次指定:
  • n从第 层到第 n
    Infinity从第 层到 Infinity
    {n}仅在第 n
    {n1,n2}从第 层到第
  • Scanlevelspec 的缺省值是 .
  • 正层的 n 由指标 n 指定的 expr 所有部分组成.
  • 负层的-n 由带有深度 n 所有部分组成.
  • 由不带子集的数值、符号和其它对象组成.
  • 对应于整个表达式.
  • 选项设置 Heads->TrueScan 也作用于表达式的头部和其它部分.  »
  • Scan 按深度优先的顺序访问 expr 的子集.
  • 如果 expr 是一个 SparseArray 对象,Scan[f, expr]f 应用到 expr 中的值和子列表中.
版本 1 的新功能 | 版本 5 修改功能
New to Mathematica? Find your learning path »
Have a question? Ask support »