Re: Pattern Syntax for Alternate Heads with Default Value

*To*: mathgroup at smc.vnet.net*Subject*: [mg125844] Re: Pattern Syntax for Alternate Heads with Default Value*From*: Bob Hanlon <hanlonr357 at gmail.com>*Date*: Thu, 5 Apr 2012 05:45:01 -0400 (EDT)*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com*References*: <201204040827.EAA29886@smc.vnet.net>

Clear[f] f[x_Real: 2.5] = x^2; f[x_Integer] = x^2; {f[3], f[1.5], f[], f[I]} {9, 2.25, 6.25, f[I]} Clear[f] f[] = 6.25; f[x_Real | x_Integer] = x^2; {f[3], f[1.5], f[], f[I]} {9, 2.25, 6.25, f[I]} Bob Hanlon On Wed, Apr 4, 2012 at 4:27 AM, Ben <benp84 at gmail.com> wrote: > I'm trying to build a unary function which accepts only arguments with > two possible heads and has a default value. That is, something like > the following, except that this doesn't work. Anyone know how to do > this correctly? > > f[(x_Real | x_Integer) : 2.5] := x^2; > where f[3] = 9 > and f[1.5] = 2.25 > and f[] = 6.25 >

**References**:**Pattern Syntax for Alternate Heads with Default Value***From:*Ben <benp84@gmail.com>