Dispatch
詳細
- Dispatchの使用はこれで得られる結果に影響を与えることはないが,長い規則のリストの適用が速くなる.
- 規則のリストは,expr/.rules のような式を評価する場合,通常与えた順に走査される.a[1]->a1やa[2]->a2のように同時に適用することができない規則は,両方を明示的に走査する必要はない.そこで,Dispatchは,どの規則の組が特定の入力式に対して実際に走査される必要があるかを指定するハッシュコードを使うディスパッチテーブルを作成する.
- =や:=で作成された規則のリストは,適宣,自動的にディスパッチテーブルで最適化される.
- DispatchはAtomQのような関数によって,またパターンマッチングの目的では,未加工オブジェクトとして扱われる.
- Normalは,Dispatchを規則のリストに変換する.
例題
すべて開く すべて閉じる例 (2)
rules = {a -> b, b -> c, c -> a, d -> e, e -> d};dispatch = Dispatch[rules]{a, b, c, d, e} /. rules{a, b, c, d, e} /. dispatchDispatchは規則の長いリストについてははるかに速いことがある:
Short[rules = Table[x[i] -> RandomInteger[{1, i}], {i, 10000}]]dispatch = Dispatch[rules]Timing[Table[x[i] /. rules, {i, 10000}];]Timing[Table[x[i] /. dispatch, {i, 10000}];]スコープ (2)
Dispatchをパターンに基づいた規則とともに使う:
disp = Dispatch[{1 -> a, 2 -> b, c_ ? NumericQ -> ∞}]{1, 2, 3, Pi, Sin[x], Cos[3]} /. dispDispatch[<|a -> b, c -> d|>]テクニカルノート
関連するガイド
履歴
1991 で導入 (2.0) | 2014 で更新 (10.0)
テキスト
Wolfram Research (1991), Dispatch, Wolfram言語関数, https://reference.wolfram.com/language/ref/Dispatch.html (2014年に更新).
CMS
Wolfram Language. 1991. "Dispatch." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2014. https://reference.wolfram.com/language/ref/Dispatch.html.
APA
Wolfram Language. (1991). Dispatch. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Dispatch.html
BibTeX
@misc{reference.wolfram_2026_dispatch, author="Wolfram Research", title="{Dispatch}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/Dispatch.html}", note=[Accessed: 18-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_dispatch, organization={Wolfram Research}, title={Dispatch}, year={2014}, url={https://reference.wolfram.com/language/ref/Dispatch.html}, note=[Accessed: 18-June-2026]}