If

If[condition,t,f]

condition の評価の結果がTrueとなる場合に t を,Falseとなる場合に f を返す.

If[condition,t,f,u]

condition の評価の結果がTrueでもFalseでもない場合,u を返す.

詳細

  • Ifは,この条件式の値によって決定される引数だけを評価する.
  • If[condition,t,f]は,condition の評価の結果がTrueでもFalseでもない場合は評価されない.
  • If[condition,t]は,condition の評価がFalseの場合,Nullを返す.

予備知識

  • Ifは,手続き型プログラミング構造であり,その評価の分岐は,指定された条件の真の値によって決定される.Ifは通常If[cond,t,f]のように,条件と2つの追加の引数を取る.ここで tf はそれぞれ,条件がTrueFalseの場合に評価される.Ifは,If[cond,t,f,u]のように,追加の3つ目の引数を取ることもある.ここで u は,指定された条件が明示的にTrueでも明示的にFalseでもない場合に,評価が行われるようにする.最後にIfは,If[cond,t]のように1つだけ追加の引数を取ることもある.この場合,f の値はNullであるとされる.
  • 効率を図るため,Ifは関連のある引数のみを評価する.例えば,If[cond,t,f,u]における条件がTrueである場合には,t だけが評価され,fu は評価されない.
  • ConditionalExpressionは,与えられた条件がTrueの場合にだけ式を表す関連の記号的構文である.Ifを一般化するその他のより柔軟なプログラミング構造には,WhichSwitchがある.引数の値によって評価を行う数学関数には,BoolePiecewiseがある.Conditionは,検定結果の評価がTrueになるときにだけマッチするパターンである.TrueQは,Ifの特殊形で,式が明示的にTrueである場合にはTrueを,それ以外の場合にはFalseを返す.

例題

すべて開くすべて閉じる

  (1)

スコープ  (4)

評価  (3)

条件がTrueでもFalseでもない場合,Ifは未評価で残される:

不確定条件についての明示的な場合を持つ形式はいかなる場合にも評価される:

TrueQを使って常にブール値を返すように条件を強制する:

記号変換  (1)

IfRoundの両方を区分要素として区分関数を定義する:

PiecewiseExpandを使って区分関数が正規形になるようにする:

いくつかの異なる記号操作を行う:

一般化と拡張  (1)

Ifは条件を表す文として使うことができる:

また,値を返す式としても使うことができる:

特性と関係  (4)

実際に取られた分枝だけが評価される:

場合ごとに関数を定義する:

あるいは,いくつかの条件的定義を使う:

ネストしたif-then-elseifチェーンではなくWhichを使う:

PiecewiseExpandを使ってIfPiecewiseに変換する:

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

テキスト

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

CMS

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

APA

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

BibTeX

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

BibLaTeX

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