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を返す.
1988年に導入
(1.0)