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"]=valuePersistentSymbol["name",$PersistenceBase]=value に等しい.
  • PersistentSymbol["name",loc]は,基本的にPersistentObject["name",loc]["Value"]である.
  • PersistentSymbol["name",loc,]におけるように単一の永続値の場所が指定された場合は,MergingFunctionの設定は使われない.
  • それ以外の場合は,MergingFunction->f と設定することで,最終的に返される値が関数 f をすべての永続値の場所で見付かった値のリストに適用した結果になる.
  • PersistentObject内の"MergingFunction"メタデータで違うことが指定されていなければ, MergingFunction->AutomaticMergingFunction->Firstに等しい.
  • PersistentSymbol[sym]=value で新たな値が割り当てられる前に,指定された値の前処理関数が値が割り当てられる前に value に適用される.
  • 前処理関数が$Failedを返した場合は,割当ては行われない.
  • ValuePreprocessingFunctionの明示的な設定が与えられていない場合は,使用する設定が$PersistencePath上で検索される.
  • 期限が切れた永続シンボルは存在しないものとして扱われ,もとになった永続オブジェクトは削除されるかもしれない.
  • 永続シンボルはRemoveで削除できる.Remove[PersistentSymbol["name"]]Remove[PersistentSymbol["name",$PersistenceBase]]に等しい.

例題

すべて開くすべて閉じる

  (3)

永続値を割り当てる:

前に保存された値を取り出す:

フロントエンドのセッションスコープで値を記憶する:

同じフロントエンドのセッションでは,新たに再起動したカーネルでも保存してあった値を使う:

同じ名前の値を違う永続的な場所に保存する:

見付かった最初の値を取り出す:

$PersistencePathにあるすべての値のリストを取り出す:

スコープ  (8)

永続値の場所  (3)

"KernelSession"内に作成された永続的なシンボルは,カーネルが終了すると消失する:

"FrontEndSession"内に作成された永続的なシンボルは,カーネルがリスタートされても生き残る:

これらのシンボルはフロントエンドがリスタートされると消失する:

"Local"な場所にある永続的なシンボルはユーザアカウント内のファイルに保存される:

これらのシンボルは$LocalBaseディレクトリに保存され,無期限に残る:

再割当て関数  (5)

永続的なシンボルの値を変更する:

リストの値を変更する:

リストの値の一部を変更する:

連想の値を変更する:

連想の値の要素を変更する:

オプション  (8)

ExpirationDate  (2)

2020年の年初で期限が切れる永続値を定義する:

もとになっている永続オブジェクトの期限が切れる日付を確認する:

翌年の年初に期限が切れる永続値を定義する:

もとになっている永続オブジェクトの期限が切れる日付を確認する:

MergingFunction  (3)

キー"lval"を使ってさまざまな場所に永続値の補集合を作る:

$PersistencePathにあるキー"lval"の既存の全値をリストにする:

デフォルトで,最初の値だけが返される:

すべてのサブリストを結合して平坦にする:

すべてのサブリストを結合する:

さまざまな場所に"aval"という名前の永続的な連想の補集合を作る:

$PersistencePathにある既存のすべての値をリストにする:

連想中の同一のキーの値を一つに統合する:

カスタムの統合関数で"mylist"のデフォルト値を定義する:

さまざまな永続場所にある追加的な値を定義する:

値の検索にはカスタムの統合関数が使われるようになった:

PersistenceTime  (2)

5秒で期限切れになる永続値を定義する:

これは,5秒後には使えない:

5日で期限切れになる永続オブジェクトを定義する:

もとになっている永続オブジェクトの期限が切れる日を確認する:

ValuePreprocessingFunction  (1)

整数しか取らない値前処理関数を定義する:

"int"という名前の永続値のためにデフォルト値と値前処理関数を設定する:

任意の永続場所で整数を割り当てる:

他の何を割り当ててもエラーが生成され,割当ては行われない:

アプリケーション  (1)

キー"lval"についての既存のすべての永続オブジェクトをリストにする:

それらを削除する:

特性と関係  (5)

永続値は永続オブジェクトに保存される:

新たな永続オブジェクトのデフォルトの場所は$PersistenceBaseで与えられる:

キー"v"の永続値の補集合をさまざまな場所に作成する:

永続値は,デフォルトで,$PersistencePathが与えるあらゆる場所で検索される:

見付かった最初の値が返される:

MergingFunction->Identityとすると,見付かったすべての値がリストで返される:

値を検索する場所の明示的なリストを指定する:

PersistenceTimeで指定された期限切れの時間は期限切れの絶対日付に変換される:

永続値はRemoveで削除できる:

考えられる問題  (1)

"name"に対する2つの永続値を別々の場所に作成する:

Removeは,デフォルトで,$PersistenceBaseが与える場所にある値だけを削除する:

$PersistencePathが与える場所のどこかにあるかもしれないすべての値を削除する:

Wolfram Research (2021), PersistentSymbol, Wolfram言語関数, https://reference.wolfram.com/language/ref/PersistentSymbol.html.

テキスト

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

BibTeX

@misc{reference.wolfram_2024_persistentsymbol, author="Wolfram Research", title="{PersistentSymbol}", year="2021", howpublished="\url{https://reference.wolfram.com/language/ref/PersistentSymbol.html}", note=[Accessed: 21-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_persistentsymbol, organization={Wolfram Research}, title={PersistentSymbol}, year={2021}, url={https://reference.wolfram.com/language/ref/PersistentSymbol.html}, note=[Accessed: 21-November-2024 ]}