Scan

Scan[f,expr]

fexpr の要素それぞれに順に適用させて評価する.

Scan[f,expr,levelspec]

levelspec によって指定される expr の部分に f を適用する.

Scan[f]

式に適用可能なScanの演算子形を表す.

詳細とオプション

  • Scan[f,expr]は,expr の部分式に f を 適用した結果を無視する.Mapとは異なり,Scanは返すために新しい式を構築することはない.
  • Returnを使ってScanから脱出することができる.Return[ret]は,Scanの最終的な値を ret にする.戻り値が明示されていない場合,Scanが与える最終的な結果は,Nullである.
  • Throwを使ってScanから脱出できる. »
  • Scanは,割当てのような副次作用を持つ演算を式の部分に行うときに便利である.
  • Scanは標準的なレベル指定を行う.
  • nレベル 1 からレベル n
    Infinityレベル 1 から Infinity
    {n}レベル n のみ
    {n1,n2}レベル n1から n2
  • Scanにおけるlevelspec のデフォルト値は,{1}である.
  • 正のレベル n は,n 個の指標によって指定される expr のすべての部分からなる.
  • 負のレベル-n は,深さ nexpr のすべての部分からなる.
  • レベル-1は,数,記号,その他の下位区分を持たないオブジェクトからなる.
  • レベル0は式全体に当たる.
  • オプション設定Heads->Trueのとき,Scanは式の頭部とその部分を含む. »
  • Scanは深さ優先の順序で expr の部分に働く.葉の部分は根の部分よりも先になる.
  • exprAssociationオブジェクトのとき,Scan[f,expr]f を連想中の値にのみ適用する.
  • exprSparseArrayオブジェクトのとき,Scan[f,expr]expr に明示的に現れる値あるいは部分配列のみに f を適用する.
  • Scan[f][expr]Scan[f,expr]に等しい.
  • Parallelize[Scan[f,expr]]Scan[f,expr]をすべてのサブカーネルで並列に計算する. »

例題

すべて開くすべて閉じる

  (6)

Associationの要素をスキャンする:

第2レベルまで要素をスキャンする:

零番目のレベルを含め,要素をスキャンする:

Scanの演算子形を使う:

スコープ  (5)

レベル指定  (5)

レベル1をスキャンする(デフォルト):

レベル2までスキャンする:

レベル2だけをスキャンする:

レベル0からレベル2までスキャンする:

レベル3までスキャンする:

レベル1から始めてすべてのレベルをスキャンする:

レベル0もスキャンする:

負のレベル:

正負のレベルを混ぜることができる:

各レベルに異なる頭部:

一般化と拡張  (2)

Scanは任意の頭部を持つ式に使うことができる:

ThrowScanの中で働く:

オプション  (1)

Heads  (1)

デフォルトで,頭部はスキャンされない:

アプリケーション  (2)

データに基づいた割当てを行う:

式中のすべての葉を求める:

特性と関係  (4)

葉は根の前に見られる:

ScanMapと同じことを行うが,結果は返さない:

SowReapを使って結果を集める:

Scanを並列に計算する:

Wolfram Research (1988), Scan, Wolfram言語関数, https://reference.wolfram.com/language/ref/Scan.html (2014年に更新).

テキスト

Wolfram Research (1988), Scan, Wolfram言語関数, https://reference.wolfram.com/language/ref/Scan.html (2014年に更新).

CMS

Wolfram Language. 1988. "Scan." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2014. https://reference.wolfram.com/language/ref/Scan.html.

APA

Wolfram Language. (1988). Scan. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Scan.html

BibTeX

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

BibLaTeX

@online{reference.wolfram_2024_scan, organization={Wolfram Research}, title={Scan}, year={2014}, url={https://reference.wolfram.com/language/ref/Scan.html}, note=[Accessed: 03-December-2024 ]}