Page 1 of 1

NewLisp function with a variable number or arguments?

Posted: Mon Jul 25, 2005 6:10 pm
by Sunburned Surveyor
Is it possible to have a custom function defined in newLisp that accepts a variable number of arguments?

For example, could I have the "doThis" function accept an integer named "number1" and a string named "text" or just two integers, "number1" and "number2"? How would I do this? Can you do it by just specifying all parameters in the define statement for the function, and then if the values are not used they are passed as nil?

Thanks,

The Sunburned Surveyor

Posted: Tue Jul 26, 2005 12:05 am
by Lutz
Yes,

... and you can also go the other way around: specifiying more parameters than specified in the function definition. Those then would be shown by the function (args), which will return a list of all parameters passed but not defined.

Lutz

Ps: read the manual for all of this

Posted: Mon Aug 01, 2005 11:16 pm
by statik
You are able to, like Lutz said, define a function without arguments. This, I suppose, would be usefull if you were dynamically creating functions where the number of arguments could be any amount. By using (args), you could get everything.

Code: Select all

newLISP v.8.6.0 on OSX, execute 'newlisp -h' for more info.

> (define (myfunc) (println (args)))
(lambda () (println (args)))
> (myfunc "one" "two" "three")
("one" "two" "three")
("one" "two" "three")
>