PersistentSymbol
PersistentSymbol["name"]
キー"name"に関連付けられた永続シンボルを表す.
PersistentSymbol["name",loc]
永続値の場所 loc に保存された,name に関連付けられた永続シンボルを表す.
PersistentSymbol["name",{loc1,…}]
それが存在する場所 lociの最初のものにある name に関連付けられた永続シンボルを表す.
詳細とオプション
- PersistentSymbol["name",…]を評価すると対応する永続値が与えられる.
- PersistentSymbol["name",…]=value は永続値を設定する.
- PersistentSymbolには,以下のオプションが使える.
-
MergingFunction Automatic 見付かった値のリストに適用された関数 ValuePreprocessingFunction Identity 割り当てられる新たな値に適用された関数 ExpirationDate None いつ値の期限が切れるか PersistenceTime None 値がどのくらいの期間続くか - PersistentSymbol["name",loc]の永続値の場所 loc の可能な形式には以下がある.
-
PersistenceLocation["type"] "Local","Cloud", "FrontEndSession"等の場所 "type" PersistenceLocation["type"]と等価 PersistenceLocation["type","base"] ディレクトリ等の特定のベースがある場所 "type""base" PersistenceLocation["type","base"]と等価 - 次は,サポートされる場所のタイプである.
-
"KernelSession" Wolfram言語カーネルの現在の起動場所 "FrontEndSession" Wolframノートブックフロントエンドの現在の起動場所 "Notebook" 現在評価が行われているノートブック "Local" ユーザのホームディレクトリに基づいてコンピュータにローカル "LocalShared" $BaseDirectoryに基づいてコンピュータにローカル "Cloud" 現行の$CloudBaseで定義されたクラウド内 "Installation" デフォルトのインストール - PersistentSymbol["name"]はPersistentSymbol["name",$PersistencePath]に等しい.
- PersistentSymbol["name"]=valueはPersistentSymbol["name",$PersistenceBase]=value に等しい.
- PersistentSymbol["name",loc]は,基本的にPersistentObject["name",loc]["Value"]である.
- PersistentSymbol["name",loc,…]におけるように単一の永続値の場所が指定された場合は,MergingFunctionの設定は使われない.
- それ以外の場合は,MergingFunction->f と設定することで,最終的に返される値が関数 f をすべての永続値の場所で見付かった値のリストに適用した結果になる.
- PersistentObject内の"MergingFunction"メタデータで違うことが指定されていなければ, MergingFunction->AutomaticはMergingFunction->Firstに等しい.
- PersistentSymbol[sym]=value で新たな値が割り当てられる前に,指定された値の前処理関数が値が割り当てられる前に value に適用される.
- 前処理関数が$Failedを返した場合は,割当ては行われない.
- ValuePreprocessingFunctionの明示的な設定が与えられていない場合は,使用する設定が$PersistencePath上で検索される.
- 期限が切れた永続シンボルは存在しないものとして扱われ,もとになった永続オブジェクトは削除されるかもしれない.
- 永続シンボルはRemoveで削除できる.Remove[PersistentSymbol["name"]]はRemove[PersistentSymbol["name",$PersistenceBase]]に等しい.
例題
すべて開くすべて閉じる例 (3)
同じフロントエンドのセッションでは,新たに再起動したカーネルでも保存してあった値を使う:
$PersistencePathにあるすべての値のリストを取り出す:
スコープ (8)
永続値の場所 (3)
"KernelSession"内に作成された永続的なシンボルは,カーネルが終了すると消失する:
"FrontEndSession"内に作成された永続的なシンボルは,カーネルがリスタートされても生き残る:
これらのシンボルはフロントエンドがリスタートされると消失する:
"Local"な場所にある永続的なシンボルはユーザアカウント内のファイルに保存される:
これらのシンボルは$LocalBaseディレクトリに保存され,無期限に残る:
オプション (8)
ExpirationDate (2)
MergingFunction (3)
キー"lval"を使ってさまざまな場所に永続値の補集合を作る:
$PersistencePathにあるキー"lval"の既存の全値をリストにする:
さまざまな場所に"aval"という名前の永続的な連想の補集合を作る:
$PersistencePathにある既存のすべての値をリストにする:
PersistenceTime (2)
特性と関係 (5)
新たな永続オブジェクトのデフォルトの場所は$PersistenceBaseで与えられる:
永続値は,デフォルトで,$PersistencePathが与えるあらゆる場所で検索される:
MergingFunction->Identityとすると,見付かったすべての値がリストで返される:
PersistenceTimeで指定された期限切れの時間は期限切れの絶対日付に変換される:
永続値はRemoveで削除できる:
考えられる問題 (1)
Removeは,デフォルトで,$PersistenceBaseが与える場所にある値だけを削除する:
$PersistencePathが与える場所のどこかにあるかもしれないすべての値を削除する:
テキスト
Wolfram Research (2021), PersistentSymbol, Wolfram言語関数, https://reference.wolfram.com/language/ref/PersistentSymbol.html.
CMS
Wolfram Language. 2021. "PersistentSymbol." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/PersistentSymbol.html.
APA
Wolfram Language. (2021). PersistentSymbol. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/PersistentSymbol.html