CreateTypeInstance[type,arg1,arg2,…]
型のインスタンスをコンパイルされたコードで作成する.
CreateTypeInstance[productType,<|field1x1,field2x2,…|>]
製品型のインスタンスを作成し,そのフィールドを初期化する.
CreateTypeInstance
CreateTypeInstance[type,arg1,arg2,…]
型のインスタンスをコンパイルされたコードで作成する.
CreateTypeInstance[productType,<|field1x1,field2x2,…|>]
製品型のインスタンスを作成し,そのフィールドを初期化する.
詳細
- CreateTypeInstance[type,arg1,arg2,…]の引数は型によって異なり,しばしば型それ自体によってドキュメントされている.
- 多くの型の場合,arg が type のインスタンスであればCreateTypeInstance[type,arg]は argの複製を作成する.
- CreateTypeInstanceによってインスタンス化される型は自動的にはメモリ管理されず,DeleteObjectを使って手動で解放しなければならない.
例題
すべて開く すべて閉じる例 (2)
長さ5の"Managed"::["CArray"::["MachineInteger"]]オブジェクトを作成する関数をコンパイルする:
cf = FunctionCompile[Function[{}, CreateTypeInstance["Managed"::["CArray"::["MachineInteger"]], 5]]]cf[]typeDec = TypeDeclaration["Product", "myProd", <|"field1" -> "MachineInteger", "field2" -> "Real64"|>];cf = FunctionCompile[{typeDec},
Function[Typed[f1, "MachineInteger"],
With[{prod = CreateTypeInstance["myProd", <|"field1" -> f1, "field2" -> 3.14|>]},
prod["field1"]]]]cf[12]スコープ (2)
CreateTypeInstanceのカスタムの用法はFunctionDeclarationで宣言できる:
tyDec = TypeDeclaration["Product", "myProd", <|"field1" -> "MachineInteger", "field2" -> "Real64"|>];funcDec = FunctionDeclaration[CreateTypeInstance,
Typed[{"TypeSpecifier"::["myProd"], "MachineInteger"} -> "myProd"]@
Function[{ty, arg},
CreateTypeInstance["myProd", <|"field1" -> arg, "field2" -> 3.14|>]
]
];この型についてカスタムのコンストラクタを使用する関数をコンパイルする:
cf = FunctionCompile[{tyDec, funcDec},
Function[Typed[f1, "MachineInteger"],
With[{prod = CreateTypeInstance["myProd", f1]},
prod["field1"]]]
]cf[55]"CString"のように管理されていないオブジェクトを作成することは可能であるが,結果は手動で解放しなければならない:
cf = FunctionCompile[
Function[Typed[len, "MachineInteger"],
Module[{str},
str = CreateTypeInstance["CString", len];
DeleteObject[str]
]]]cf[12]テクニカルノート
テキスト
Wolfram Research (2022), CreateTypeInstance, Wolfram言語関数, https://reference.wolfram.com/language/ref/CreateTypeInstance.html.
CMS
Wolfram Language. 2022. "CreateTypeInstance." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/CreateTypeInstance.html.
APA
Wolfram Language. (2022). CreateTypeInstance. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/CreateTypeInstance.html
BibTeX
@misc{reference.wolfram_2026_createtypeinstance, author="Wolfram Research", title="{CreateTypeInstance}", year="2022", howpublished="\url{https://reference.wolfram.com/language/ref/CreateTypeInstance.html}", note=[Accessed: 13-August-2026]}
BibLaTeX
@online{reference.wolfram_2026_createtypeinstance, organization={Wolfram Research}, title={CreateTypeInstance}, year={2022}, url={https://reference.wolfram.com/language/ref/CreateTypeInstance.html}, note=[Accessed: 13-August-2026]}