"InertExpression" (コンパイルタイプ)
"InertExpression"
自動的には評価されない不活性な式を表す.
詳細
- "InertExpression"はTypedおよび型を指定する関連した構造で使うことができる.
- "InertExpression"オブジェクトは自動的にメモリ管理される.
- "InertExpression"オブジェクトは内部的にはWolfram言語式と同様に表される.
- "InertExpression"オブジェクトは不活性でありInertEvaluateの呼出しでのみ評価する.
コンストラクタ
- InertExpression[expr]は定数 expr から不活性な式オブジェクトを構築する.
- head[arg1,arg2,…]は不活性な式 head[arg1,arg2,…]を構築する.ここで head は不活性な式であり,arg1等は不活性な式に変換される.
- Construct[head,arg1,arg2,…]は不活性な式 head[arg1,arg2,…]を構築する.ここで head 不活性な式であり,arg1等は不活性な式に変換される.
特性
- InertEvaluateは不活性な式を評価する.
変換
- 不活性な式は評価されたコードとコンパイルされたコードの間で渡されるとき,自動的に式に変換されたり式から変換されたりする. »
式
例題
すべて開く すべて閉じる例 (2)
スコープ (4)
不活性な式はコンパイルされたコードから返されると自動的に式に変換される:
cf = FunctionCompile[Function[{}, InertExpression[Echo["bam!"];2 + 2]]]cf[]cf = FunctionCompile[Function[{Typed[head, "InertExpression"]},
head[1, 2, 4]]]cf[f]コンパイルされたコードから戻る前にHoldでラップして,不活性な式を構築する:
cf = FunctionCompile[Function[{},
InertExpression[Hold][InertExpression[Total][{1, 2, 3}]
]]]cf[]コマンドConstructを使うこともできる:
cf = FunctionCompile[Function[{},
Construct[InertExpression[Hold], Construct[InertExpression[Total], {1, 2, 3}]]
]]cf[]特性と関係 (1)
不活性な式はInertEvaluate:で評価することができる:
cf = FunctionCompile[Function[{}, InertEvaluate[InertExpression[2 + 2]]]]テクニカルノート
履歴
2022 で導入 (13.1)