Protect

Protect[s1,s2,]

シンボル siに属性Protectedを設定する.

Protect[patt1,patt2,]

名前が任意の文字列パターン pattiにテキスト的に一致するすべてのシンボルをプロテクトする.

Protect[{spec1,spec2,}]

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

詳細

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

例題

すべて開くすべて閉じる

  (1)

関数を定義しプロテクトする:

関数定義はもはや変更できない:

スコープ  (7)

シンボルの入力  (2)

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

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

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

パターンを使う  (5)

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

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

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

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

シンボルx1x2はプロテクトされたがyはプロテクトされないままである:

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

アプリケーション  (2)

システムシンボルのプロテクトを外して定義する:

プロテクトを回復する:

パッケージ中のすべてのシンボルをプロテクトするが,パッケージが再ロードされた際に定義することは許容する:

特性と関係  (6)

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

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

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

シンボルをプロテクトすることは他の属性には影響しない:

Protectは実際にプロテクトされているシンボルのリストを返す:

シンボルがすでにプロテクトされている場合,再びプロテクトされることはない:

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

プロテクトされているシンボルの定義を変更したければ,まずプロテクトを外す:

Protectは属性HoldAllを有する:

次はsymbolそれ自身をプロテクトする:

次はその値をプロテクトする:

考えられる問題  (2)

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

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

Cxyは他のいくつかのシステムシンボルと同じようにプロテクトされた:

パターンに明示的なコンテキストマークを付けて使うとシステムあるいはその他のコンテキストにあってパターンにマッチするシンボルを守ることができる:

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

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

テキスト

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

CMS

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

APA

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

BibTeX

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

BibLaTeX

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