"IncrementalFunction" (コンパイルタイプ)
"IncrementalFunction" (コンパイルタイプ)
"IncrementalFunction"::[next,send]
型 next を生成し,型 send を受け取ることのできる増分関数の状態を保持する型を表す.
詳細
- "IncrementalFunction"はIncrementalFunctionで作成された関数の実行中のインスタンスを参照するために使われる.
Constructors
- "IncrementalFunction"のインスタンスは,IncrementalFunctionの印の付いた関数をコンパイルすることによって作成される.
特性
- 型"IncrementalFunction"::[yield,receive]の obj についてのInformation[obj,"YieldType"]は"TypeSpecifier"::[yield]を与える.
- 型"IncrementalFunction"::[yield,receive]の obj についてのInformation[obj,"ReceiveType"]は"TypeSpecifier"::[receive]を与える.
例題
例 (1)
cf = FunctionCompile[IncrementalFunction@Function[Typed[len, "MachineInteger"], Do[IncrementalYield[i], {i, len}]
]];ds = cf[3]引数として増分関数オブジェクトを取り"Next"を呼び出すプログラムをコンパイルする:
cf1 = FunctionCompile[Function[Typed[obj, "IncrementalFunction"::["MachineInteger", "Null"]], Echo[obj["Next"]]
]];cf1[ds]cf1[ds]ds["Next"]増分関数は終了したため,再び"Next"を呼び出すと失敗する:
ds["Next"]テクニカルノート
履歴
2025 で導入 (14.3)