"Function" (リソースオブジェクトタイプ)
詳細
- それぞれの関数リソースにはResourceFunctionでアクセスできる1つの関数が含まれている.
特性
- すべてのリソースタイプに共通のResourceObjectの標準的な特性がある ».また,それぞれのリソースタイプは追加の特性を定義する.
- 関数の内部ストレージに関連付けられた関数リソースの特性には以下がある:
-
"Function" 関数を定義する未加工の内部シンボル "Symbol" HoldFormでの内部シンボル名 "SymbolName" 根底にあるシンボルの完全修飾文字列名 "Context" 内部シンボルのコンテキスト "Definition" 専用コンテキストでの関数の定義(Definition) "DefinitionData" 定義を含むWXFのバイト配列(ByteArray) "DefinitionList" 内部データ構造を使って保存された定義 "DefaultValues" 関数のデフォルト値(DefaultValues) "DownValues" 関数の下向きの値(DownValues) "FullDefinition" 専用コンテキストにおける関数の完全定義(FullDefinition) "Messages" 関数に対して定義されたメッセージのリスト "Options" 関数のオプション(Options) "OwnValues" 関数自身の値(OwnValues) "SubValues" 関数の部分値(SubValues) "UpValues" 関数の上向きの値(UpValues) - 次は関数リソースの追加の特性である:
-
"DocumentationNotebook" 使用法,詳細,例題を含むドキュメントノートブック "FunctionLocation" 関数を含むCloudObject,LocalObject,またはFile "VerificationTests" 関数に対して定義されたVerificationTestオブジェクト "TestNotebook" "VerificationTests"を含む,生成されたテストノートブック "TestReport" "VerificationTests"を評価した結果 "Usage" 関数使用法のフォーマットされた概要 - 公開されているリソース関数の定義がダウンロードされると,この先使えるように通常ローカルに保存される.キャッシュが発生すると,"FunctionLocation"の値はCloudObjectからLocalObjectに変わる.
- 関数リソースはすべて特性"ResourceType""Function"を持つ.
- 以下は関数リソースをソートするのに使われる特性である:
-
"Categories" 関数に関連付けられた領域のリスト - 次は関数リソースに対するResourceObjectの広く使われる標準的な特性である:
-
"DefinitionNotebook" 関数とリソースを定義するノートブック "ExampleNotebook" 入力と出力の例のノートブック "Version" ローカルコピーのバージョン
関数リソースを使う
- ResourceObject内の関数にはResourceFunctionを使ってアクセスできる.
- 特性にはResourceObject[…]["prop"]またはResourceFunction[…,"prop"]を使ってアクセスできる.
関数リソースを作成する
- 単純な関数リソースを作成するには,DefineResourceFunctionを使うのが最も簡単である.生成されたResourceFunctionにResourceObjectを適用することでResourceObjectを取り出すことができる.
- 完全なメタデータを含む関数リソースを作成するためには,CreateNotebook["FunctionResource"]で利用可能な定義ノートブックを使う.
- 定義ノートブックを使うと,リソースをローカルに保存したり,クラウドに配備したり,Wolfram Data Repositoryに送信して公開したりすることもできる.
Function Repositoryで公開する
- 関数リソースはWolfram Function Repositoryで公開することができる.
- 関数リポジトリに送信するためにはPublisherIDが必要である.
- 公開にはリビューチームの承認が必要であり,通常変更が伴う.リビュープロセスの効率化を図るためには,スタイルガイドラインに従うとよい.
例題
すべて開くすべて閉じる例 (2)
スコープ (2)
関数定義を含むCloudObjectを見る: