Re: Optional Alternatives
- To: mathgroup at smc.vnet.net
- Subject: [mg50034] Re: [mg50010] Optional Alternatives
- From: DrBob <drbob at bigfoot.com>
- Date: Thu, 12 Aug 2004 05:43:54 -0400 (EDT)
- References: <200408101002.GAA19525@smc.vnet.net> <200408110953.FAA04123@smc.vnet.net>
- Reply-to: drbob at bigfoot.com
- Sender: owner-wri-mathgroup at wolfram.com
A missing value can't really fit a pattern, but you can do this: Clear[f] f[x:_Real | _Rational] := x f[x_Integer] := 2 f[] := f[GoldenRatio] f /@ {0, 1/2, 0.3, Pi} {2, 1/2, 0.3, f[Pi]} f[] f[GoldenRatio] Or... Clear[f] Default[f] = GoldenRatio; f[x:_Real | _Rational] := x f[x_Integer] := 2 f[x_Symbol] := Symbol f[x_.] := f[Floor[x]]^2 f /@ {0, 1/2, 0.3, Pi} {2, 1/2, 0.3, Symbol} f[] 4 In both cases, I've made GoldenRatio the default value. Bobby On Wed, 11 Aug 2004 05:53:08 -0400 (EDT), Selwyn Hollis <sh2.7183 at misspelled.erthlink.net> wrote: > Is it possible to require a function argument to match alternative > patterns and be optional at the same time? As a toy example, suppose I > define > > f[x:_Real|_Rational]:= x > > Is there a way make the argument optional with a given default value, > say 0? I've tried this: > > f[Optional[x:_Real|_Rational, 0]]:= x > > and various other combinations with no success. (Of course I could do > this: f[]:= 0, but I'm interested in the more general issue.) > > ----- > Selwyn Hollis > http://www.appliedsymbols.com > (edit reply-to to reply) > > > -- DrBob at bigfoot.com www.eclecticdreams.net
- References:
- 50,000th Message
- From: "Steven M. Christensen" <steve@smc.vnet.net>
- Optional Alternatives
- From: Selwyn Hollis <sh2.7183@misspelled.erthlink.net>
- 50,000th Message