FirstCase

FirstCase[{e1,e2,},pattern]

pattern にマッチする最初の eiを返す.pattern にマッチする要素が見付からない場合はMissing["NotFound"]を返す.

FirstCase[{e1,},patternrhs]

pattern にマッチする最初の eiに対応する rhs の値を返す.

FirstCase[expr,pattern,default]

pattern にマッチする要素が見付からない場合に default を返す.

FirstCase[expr,pattern,default,levelspec]

levelspec で指定されたレベルに現れるオブジェクトのみを求める.

FirstCase[pattern]

式に適用可能なFirstCaseの演算子形を表す.

詳細とオプション

  • FirstCaseの第1引数は,頭部Listを持たなくてもよく,連想でもよい.
  • FirstCase[expr,pattern:>rhs]は,パターンが見付かった場合にのみ rhs を評価する.
  • FirstCase[{e1,e2,},pattern,default]では,ei がどれもマッチしない場合にのみ default が評価される.
  • FirstCase[pattern][expr]FirstCase[expr,pattern]に等しい.
  • FirstCaseは,標準的なレベル指定を使う.
  • nレベル 1 からレベル n まで
    Infinityレベル 1 からInfinityまで
    {n}レベル n のみ
    {n1,n2}レベル n1 からレベル n2まで
  • FirstCaseにおける levelspec のデフォルト値は{1}である.
  • 正のレベル n は,n 個の指標で指定される expr のすべての部分からなる.
  • 負のレベル-n は,expr の深さ n のすべての部分からなる.
  • レベル-1は,数,記号,下位区分を持たないその他のオブジェクトからなる.
  • レベル0は式全体に相当する.
  • オプション設定をHeads->Trueとすると,FirstCaseは式の頭部およびその部分を見る.
  • FirstCaseは 深さ優先の順序で,根の前に葉を訪れ,expr の部分を横断する.

例題

すべて開くすべて閉じる

  (3)

整数にマッチするリスト中の最初の要素を求める:

整数ではない最初の要素を求める:

f[x_]にマッチした最初のものの中からxを返す:

Associationから要素を拾う:

スコープ  (7)

Casesの演算子形を使う:

一次のペアを求める:

その合計を求める:

最初の非零要素を拾う:

:>を使って,明示的な要素が求まってから評価する:

カスタムのデフォルト値を指定する:

レベル指定を使って行列の要素を調べる:

ネストした連想から要素を拾う:

オプション  (1)

Heads  (1)

式の要素から記号を求める:

式の頭部も検索に含める:

特性と関係  (4)

デフォルト値は必要な場合にしか評価されない:

FirstCaseは最初にマッチしたものだけを返す:

Casesはマッチしたものをすべて返す:

FirstCaseは,CasesReplaceの組合せで実装することができる:

FirstCaseは,関数の代りにパターンを使う点を除いて,SelectFirstに似ている:

要素の合計が10より小さい最初のリストを選ぶ:

SelectFirstを使って同じ結果を得る:

考えられる問題  (1)

規則はマッチする要素をその右辺に変換する:

HoldPatternを使って規則そのものをパターンとして扱う:

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

テキスト

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

CMS

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

APA

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

BibTeX

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

BibLaTeX

@online{reference.wolfram_2024_firstcase, organization={Wolfram Research}, title={FirstCase}, year={2014}, url={https://reference.wolfram.com/language/ref/FirstCase.html}, note=[Accessed: 17-November-2024 ]}