Description Usage Arguments Details Value Examples
Short hand if-else functions for simple values switching.
1 2 3 |
.f |
( |
... |
arguments passed to the |
.then |
A positive-replacement. NOTE, that if |
.else |
A negative-replacement. NOTE, that if |
ox
evaluates function .f
which returns a single logical value and
depending on the result ox
returns:
on TRUE
returns .then
.
on FALSE
returns .else
.
It's important to note is that .then
and .else
have a default values set
as the first and the last element of the ...
. This means that they don't
have to be specified if both are arguments of .f
.
If any of them are not arguments of .f
then this argument should be
specified directly as .then
or .else
, otherwise it will be passed to the
function.
As, far as .then
and .else
won't be specified order of arguments in ...
matters for ox
but it's up to you if they are passed in the correct order
to the .f
. Then one, might consider name the argument so .f
will be
executed as expected. Consider following example
1 2 |
In above, one needs to move y
to the end so that it will be considered as
.else
.
To invert the switch one can use xo
which is equivalent of
ox(Negate(.f), ..., .then, .else)
.
object identical to .then
or .else
depending on the condition
result.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | # if (is.null(NULL)) NULL else 1
ox(NULL, .f = is.null, .else = 1)
# if (is("text", "character")) "text" else "not a character"
ox("text", .f = is, "character", .else = "not a character")
# if (1 > 2) 1 else 2
ox(`>`, 1, 2)
# if (!is.null(NULL)) NULL else 1
xo(NULL, .f = is.null, .else = 1)
# if (!is("text", "character")) "text" else "not a character"
xo("text", .f = is, "character", .else = "not a character")
# if (!1 > 2) 1 else 2
xo(`>`, 1, 2)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.