PatternTest

p?test

p に適合し,test を適用するとTrueを返すような任意の式を表すパターンオブジェクトである.

詳細

  • True以外の test[pval]の結果は,失敗を意味するとみなされる.
  • 演算子?には,高い計算順位が与えられている.したがって,_^_?tは,_^(_?t)であり,(_^_)?tではない.
  • __?test のような形式では,__にマッチする列の要素は test が適用されるたびにTrueを返さなければならない.
  • PatternTestは属性HoldRestを有する.

例題

すべて開くすべて閉じる

  (3)

NumberQ検定を満足する任意の式の例を求める:

リストの要素が正のものだけかどうかを検定する:

数値引数のみに適用される定義を作る:

スコープ  (6)

負の数を0で置換する:

リスト中の7で割れる要素を求める:

5と7の両方で割れる要素:

5と7のどちらかで割れる要素:

非負の数と素数が与えられた場合にのみ評価される関数を作る:

負の素数についてのみ評価される関数を作る:

複雑なパターンにPatternTestを使う:

式を評価せずに数を検索する:

NumberQだけを使うと各要素が評価される:

特性と関係  (2)

PatternTestは,検定関数をパターンに適用する.名前は特に必要ではない:

Conditionは,パターンの名前付きの部分についてブール式を評価する:

Exceptを使って,事実上PatternTestを否定する:

考えられる問題  (1)

PatternTestは,ホールドされている式の一部である潜在的なマッチを評価する:

正規の評価規則のために,式は検定関数による検査の前に評価されることがある:

Functionの3引数形式を使う.あるいはConditionを使ってこれを防ぐパターンを書く:

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

テキスト

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

CMS

Wolfram Language. 1988. "PatternTest." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/PatternTest.html.

APA

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

BibTeX

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

BibLaTeX

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