Unprotect

Unprotect[s1,s2,]

シンボル siの属性Protectedを削除する.

Unprotect[patt1,patt2,]

名前が任意の文字列パターン pattiのいずれかとテキスト的にマッチするすべてのシンボルのプロテクトを外す.

Unprotect[{spec1,spec2,}]

speciのいずれかと等しいあるいは名前がマッチする任意のシンボルのプロテクトを外す.

詳細

  • 組込み関数にユーザの定義を加える際の一般的な手順はUnprotect[f];definition;Protect[f]である. »
  • パターン patt は,メタ文字を含む文字列,StringExpression[],あるいはRegularExpression["regex"]として与えることができる. »
  • Unprotectは,次のメタ文字を含む省略文字列を許容する.
  • *0個以上の文字
    @大文字を除く,1個以上の文字
  • Unprotect["context`*"]は特定のコンテキストのすべてのシンボルのプロテクトを外す. »
  • Unprotect["`*"]は現行コンテキストのすべてのシンボルのプロテクトを外す. »
  • Unprotectは属性Lockedを有するシンボルには影響しない. »
  • Unprotectは属性HoldAllを有する. »

例題

すべて開くすべて閉じる

  (1)

デフォルトの動作:

プロテクトを外し定義を変更する:

新しい動作:

スコープ  (7)

シンボルの入力  (2)

いくつかのシンボルのプロテクトを外す:

シンボルとシンボル名の組合せを使う:

x3だけがプロテクトされたままである:

パターンを使う  (5)

プロテクトを外すシンボルを文字列パターンとして指定する:

現行コンテキストのすべてのシンボルのプロテクトを外す:

指定されたコンテキストのすべてのシンボルのプロテクトを外す:

StringExpressionを使って現行コンテキストの2文字シンボルすべてのプロテクトを外す:

シンボルx1x2のプロテクトは外されたがyは影響を受けない:

RegularExpressionを使って現行コンテキストの3文字シンボルすべてのプロテクトを外す:

アプリケーション  (2)

定義をするためにシステムシンボルのプロテクトを外す:

再びプロテクトする:

2回読み込まれるようにするために,パッケージ中の全シンボルのプロテクトを外し定義をクリアする:

特性と関係  (6)

Unprotect[pattern]Unprotect/@Names[pattern]と同じシンボルのプロテクトを外す:

シンボルをプロテクトすることはProtected属性を設定することに等しい:

シンボルのプロテクトを外すことはProtected属性をクリアすることに等しい:

シンボルのプロテクトを外しても他の属性はクリアされない:

Unprotectは実際にプロテクトを外されたシンボルのリストを返す:

すでにシンボルのプロテクトが外されているなら,再度プロテクトを外すことはできない:

プロテクトされたシンボルにはそれ以上定義を加えることはできない:

プロテクトされたシンボルの定義を変えたいときは,まずプロテクトを外す:

Unprotectは属性HoldAllを有する:

以下はsymbolそれ自身のプロテクトを外す:

以下はその値のプロテクトを外す:

考えられる問題  (2)

Unprotectはロックされたシンボルには影響しない:

コンテキストマークなしでパターンを使うと,$ContextPathにあってパターンと一致するすべてのシンボルのプロテクトが外される:

シンボル xy のプロテクトが外され,同時にシステムシンボルのいくつかのプロテクトも外された:

パターンに明示的なコンテキストマークを付けて使うことで,パターンと一致するシステムシンボルやその他のコンテキストのシンボルのプロテクトが外されるの防ぐことができる:

誤ってプロテクトを外されたシステムシンボルを再度プロテクトする:

Wolfram Research (1988), Unprotect, Wolfram言語関数, https://reference.wolfram.com/language/ref/Unprotect.html (2022年に更新).

テキスト

Wolfram Research (1988), Unprotect, Wolfram言語関数, https://reference.wolfram.com/language/ref/Unprotect.html (2022年に更新).

CMS

Wolfram Language. 1988. "Unprotect." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2022. https://reference.wolfram.com/language/ref/Unprotect.html.

APA

Wolfram Language. (1988). Unprotect. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Unprotect.html

BibTeX

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

BibLaTeX

@online{reference.wolfram_2024_unprotect, organization={Wolfram Research}, title={Unprotect}, year={2022}, url={https://reference.wolfram.com/language/ref/Unprotect.html}, note=[Accessed: 22-November-2024 ]}