Difference between revisions of "If Command"
Noel Lambert (talk | contribs) (If ... Then ... Else in scripts) |
|||
Line 14: | Line 14: | ||
{{note| Derivative of '''If[condition, f(x), g(x)]''' gives '''If[condition, f'(x), g'(x)]'''. It does not do any evaluation of limits at the critical points.}} | {{note| Derivative of '''If[condition, f(x), g(x)]''' gives '''If[condition, f'(x), g'(x)]'''. It does not do any evaluation of limits at the critical points.}} | ||
==If Command in Scripting== | ==If Command in Scripting== | ||
− | In many programming languages '''if''' | + | In many programming languages '''if''' has the meaning "If condition holds, do something; otherwise do something else". In GeoGebra, arguments of If are not commands, but values, one of which becomes the value of the result. Therefore |
− | if you want to e.g. set value of ''b'' to | + | if you want to e.g. set value of ''b'' to 3 provided ''a > 2'', correct way to do this is <code>SetValue[b,If[a>2,3,b]]</code>. The other way of nesting SetValue and If is incorrect. |
{{betamanual|version=4.2| | {{betamanual|version=4.2| |
Revision as of 15:58, 7 November 2012
- If[Condition, Object]
- Yields a copy of the object if the condition evaluates to true, and an undefined object if it evaluates to false.
- If[Condition, Object a, Object b]
- Yields a copy of object a if the condition evaluates to true, and a copy of object b if it evaluates to false.
Warning: | Both objects must be of the same type. |
Conditional Functions
The If command can be used to create conditional functions. Such conditional functions may be used as arguments in any command that takes a function argument, such as Derivative, Integral, and Intersect.
f(x) = If[x < 3, sin(x), x^2]
yields a function that equals sin(x) for x < 3 and x2 for x ≥ 3f(x) = If[x < 3 ∧ x>0, x^3]
yields a function that equals sin(x) for x between 0 and 3 and undefined for x ≥ 3 or x ≤ 0.
If Command in Scripting
In many programming languages if has the meaning "If condition holds, do something; otherwise do something else". In GeoGebra, arguments of If are not commands, but values, one of which becomes the value of the result. Therefore
if you want to e.g. set value of b to 3 provided a > 2, correct way to do this is SetValue[b,If[a>2,3,b]]
. The other way of nesting SetValue and If is incorrect.
Following text is about a feature that is supported only in GeoGebra 4.2.
Example: If[Mod[n,2]==0,SetCoords[A,n,0],SetCoords[A,n,1]] . |