Taking either a sequence or a list

*To*: mathgroup at smc.vnet.net*Subject*: [mg63068] Taking either a sequence or a list*From*: "Trevor Baca" <trevorbaca at gmail.com>*Date*: Tue, 13 Dec 2005 03:40:50 -0500 (EST)*Sender*: owner-wri-mathgroup at wolfram.com

I somtimes SetDelay expressions twice, as in Foo[L:{___Integer}] := StringJoin["* * * ", ToString[Length[L]], " * * * "]; Foo[n___Integer] := Foo[{n}]; reason being that I can then equivalently call either Foo[{1, 2, 3, 4, 5}] Foo[1, 2, 3, 4, 5] and not have to worry about whether Foo[ ] takes a string or sequence as argument. (StringJoin[ ] works the same way, which is where I grew to like the idea.) Question: is there a better way to accomplish this type of setting up both a list-based and sequence-based interface to an expression, other than twice calling SetDelay explicitly (perhaps by cleverly using SetAttributes[ ])? Trevor.