If

If[condition,t,f]

如果 condition 计算为 True 则给出 t,若计算为 False 则给出 f.

If[condition,t,f,u]

如果 condition 既不计算为 True 也不计算为 False 则给出 u.

更多信息

  • If 仅计算由条件值决定的参数.
  • 如果 condition 既不计算为 True 也不计算为 False,则 If[condition,t,f] 保持不计算.
  • 如果 condition 计算为 False,则 If[condition,t] 给出 Null.

背景

  • If 是一个过程式编程结构,其计算分支由指定条件的真值决定. If 通常带一个条件及两个额外的参数:If[cond,t,f]. 这里,tf 将分别依据条件是 TrueFalse 而被计算. If 还可以带第三个额外参数:If[cond,t,f,u]. 这里,当指定条件既不能明确判定为 True 也不能明确判定为 False 时就会计算 u. 最后,If 还可以只带一个额外参数:If[cond,t]. 在这种情况下,f 的值会被 Null 代替.
  • 出于效率考虑,If 只会对相关参数求值. 例如,若 If[cond,t,f,u] 中的条件为 True,那么只有 t(而不是 fu)会被求值.
  • ConditionalExpression 是一个相关的符号结构,只有当给定条件为 True 时才表示为一个表达式. 其它推广了 If 的更灵活的编程结构包括 WhichSwitch. 依据其参数值求值的数学函数包括 BoolePiecewise. Condition 是一个模式,只有当测试结果值为 True 时才匹配. TrueQIf 的一个特例,当表达式能明确判定为 True 时返回 True,否则返回 False.

范例

打开所有单元关闭所有单元

基本范例  (1)

范围  (4)

计算  (3)

如果条件计算既不是 True 也不是 False,则 If 保持不计算:

不确定条件计算下的显式实例形式:

TrueQ 强制条件总是返回一个布尔值:

符号变换  (1)

IfRound 定义一个分段函数,作为一个分段元素:

PiecewiseExpand 获得普通分段形式:

执行几种不同的符号运算:

推广和延伸  (1)

If 可以用作一个声明语句:

它可以用作一个表达式,并返回一个值:

属性和关系  (4)

仅计算采用的分支语句:

定义一个分情况讨论的函数:

可选择使用几种其它的条件定义:

Which 而不是一个嵌套的 if-then-elsif 结构:

PiecewiseExpandIf 转换为 Piecewise

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 语言. 1988. "If." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/If.html.

APA

Wolfram 语言. (1988). If. Wolfram 语言与系统参考资料中心. 追溯自 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: 19-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: 19-November-2024 ]}