Reference Function Name Via Variable?
Geoff Canyon
geoffc at inspiredlogic.com
Sun Jan 18 03:10:29 EST 2009
A lot of people have made good suggestions, but I think you're looking
for first class functions:
http://en.wikipedia.org/wiki/First-class_function
They're common in functional languages, rare in procedural languages.
In particular you're looking for what is commonly called the map
function:
http://en.wikipedia.org/wiki/Map_(higher-order_function)
That would allow something like this:
function map f,aList -- takes a function and a list, and returns the
list with the function applied to each element
put empty into returnList
repeat for each item i in aList
put f(i) & comma after returnList
end repeat
return char 1 to -2 of tReturn
end map
This is territory into which Revolution (and xTalks in general)
ventures unwillingly and ungracefully. In particular the fact that
there is no nice way to handle arbitrarily nested lists stands as a
nasty roadblock here. Nested arrays might be an answer but I haven't
thought it through.
regards,
Geoff
On Jan 15, 2009, at 11:45 AM, Scott Rossi wrote:
> Hi List:
>
> Just curious... Is there any way to construct a function using a name
> stored in a variable without resorting to "do"? For example:
>
> on mouseUp
> put "hello" into pData1
> put "world" into pData2
> put "shout" into test
> do "answer" && test & "(pData1,pData2)"
> end mouseUp
>
> function shout pData1,pData2
> return pData1 && pData2
> end shout
>
> Can the last line of the mouseUp handler be written without "do"?
> I'm not
> against using "do", just wondering if there's another option.
>
> Thanks & Regards,
>
> Scott Rossi
> Creative Director
> Tactile Media, Multimedia & Design
More information about the use-livecode
mailing list