ValueQ

ValueQ[expr]

expr に値が定義されている場合にはTrueを,その他の場合にはFalseを返す.

詳細とオプション

  • ValueQは属性はHoldAllを持つ.
  • ValueQ[expr,Methodm]は,指定されたメソッドを使って式が定義された値を持つかどうかを判定する.
  • 次は,オプションMethodの可能な値である.
  • Automatic自動動作
    "SymbolDefinitionsPresent"1つあるは複数のシンボルに何らかの定義が存在する
    "TrialEvaluation"評価後に式が変化するかどうかをテストする
    "OwnValuesPresent"1つまたは複数のシンボルに非空のOwnValuesがある
    "Legacy"バージョン12.1以前の動作と一致する
  • デフォルトメソッドのAutomaticでは,ValueQ[expr]は,事実上,expr がシンボルの場合は"OwnValuesPresent"を,その他のほとんどの式については"SymbolDefinitionsPresent"を使う.

例題

すべて開くすべて閉じる

  (2)

変数 x には値が割り当てられていない:

値を割り当てる:

ValueQTrueを返すようになった:

関数を定義する:

ValueQ[f[x]]Trueである:

スコープ  (4)

シンボルの即時的値と遅延的値をチェックする:

関数定義をチェックする:

頭部が f の式は,実際に変わったかどうかに関係なくTrueを返す:

特定の引数に依存するメソッドを使う:

ValueQ[LocalSymbol[]]は,局所シンボルに値があるときかつそのときに限ってTrueを与える:

オプション  (4)

Method  (4)

"SymbolDefinitionsPresent"は,シンボルに関連付けられた何らかの評価定義があるかどうかをテストする:

"OwnValuesPresent"は,任意のシンボルが直接の引数を持つかどうかをテストする:

"TrialEvaluation"は入力式が変わるかどうかをテストする:

"SymbolDefinitionsPresent"は,値が変更されなくても任意のコードが実行可能かどうかをテストする:

Automaticメソッドは,記号については"OwnValuesPresent"と同じ結果を与える:

より一般的な入力については"SymbolDefinitionsPresent"と一致する:

Automaticメソッドは,LocalSymbolに割り当てられた値があるかどうかをチェックする:

特性と関係  (3)

デフォルトで,ValueQ[symbol]symbolOwnValuesのみをチェックし,他の種類の値はチェックしない:

値が直接 x に割り当てられているので,ValueQ[x]Trueである:

f それ自体には値が割り当てられていないので,ValueQ[f]Falseである:

より一般的な式については,ValueQはあらゆる種類のシンボル定義をチェックする:

ValueQHoldAllである:

ValueQを入力する前に x が評価できるのなら,y についての結果が返される:

Piを評価するとそれ自身になる:

NumericQを使って数値が定義されているかどうかを見る:

考えられる問題  (2)

ValueQは組込み関数とユーザ関数両方の定義をチェックする:

fには定義はないがPlusにはある:

ValueQHoldAllである:

ここではValueQの前に x が評価されている:

Unevaluatedを使ってHoldAll属性を保持する:

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

テキスト

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

CMS

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

APA

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

BibTeX

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

BibLaTeX

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