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.