Math problem
Geoff Canyon Rev
gcanyon+rev at gmail.com
Sat Feb 18 23:32:56 EST 2012
On Sat, Feb 18, 2012 at 9:57 PM, J. Landman Gay <jacque at hyperactivesw.com>
wrote:
> function whichOne var,fld1,fld2
> -- from a handler by Tony Root
> -- Handles a case where you need to return one value if your key is empty,
> another if not.
>
> return (item offset(char 1 of (var = empty),"tf") of quote & fld1 &","&
> fld2 & quote)
> end whichOne
>
This seems unduly specialized. I use this function:
function iff b,t,f --inline if statement
if b is true then return t else return f
end iff
For your particular use case you would call it like this:
return iff(var = empty,fld 1,fld 2)
One drawback of this function is that all arguments must evaluate without
error, so you can't replace something like this:
if y = 0 then return x else return x/y
with
return iff(y = 0,x,x/y)
because x/y will fail. Way back when in my crazy days I wrote a macro
parser for the script editor, and one of the macros I wrote would take
something like the above iff statement and expand it into the other
statement so you could use the iff with impunity, but as I said, that was
about ten years ago, and it was buggy.
gc
More information about the use-livecode
mailing list