elegant code tip
rcozens at pon.net
Tue Dec 31 11:00:01 EST 2002
>to easily allow a boolean argument to be omitted, study this example:
>function searchMyList myList,toFind,matchWholeFlag
> -- allow matchWholeFlag to be omitted (false)
> set the wholeMatches to (matchWholeFlag = true)
> return lineOffset(toFind,myList)
If you want it to fail when matchWholeFlag is empty, substitute:
"if matchWholeFlag then set wholeMatches to true else set
wholdMatches to false"
(should give "expected true or false" error)
If you want something more graceful, add
"if matchWholeFlag is empty then
answer "Missing parameter"
or (set a default)
"if matchWholeFlag is empty then put true into matchWholeFlag"
If you're just pointing out that appropriately-written handlers can
deal with missing parameters, absolutely. Many Serendipity Library
handlers have one or more parameters that are never passed unless the
caller wishes to override the default. For example, the calling
syntax for justifyString is:
function justifyString theString,theLength,whichWay,padChar
whichWay defaults to "right" if empty; padChar defaults to space; so
if the string is to be right-justified and the pad character is
space, only the first two arguments must be passed.
The getSDBRecord command has six arguments. Only the first argument
CCW, Serendipity Software Company
"And I, which was two fooles, do so grow three;
Who are a little wise, the best fooles bee."
from "The Triple Foole" by John Donne (1572-1631)
More information about the Use-livecode