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