Re: function definition
- To: mathgroup at christensen.cybernetics.net
- Subject: Re: function definition
- From: Richard Mercer <richard at rmercer.wright.edu>
- Date: Fri, 21 Oct 1994 12:43:09 -0400
> Can anyone explain the principle for function definition > that yields the following: ... > f2[x_] := x + 3 > f2[y_] := y + 4 ... > David Kramer Sorry, David, but that's how it works! Seriously, there are very strong advantages to maintaining multiple function definitions for a single symbol, although not in this particular case. What Mma does is maintain all definitions with different variables, unfortunately y_ is considered to be different than x_. This is useful e.g. if you have f[x_Rational]:= and f[y_Integer]:= as then you can define different behaviors for different inputs, i.e. "overload" the symbol f. There are also some disadvantages, mostly that it can be very confusing for non-experts. In my calcE package (designed to make life with Mma easier for students, novices, and people with other things to do), I include a Define[__] command that automatically clears all previous definitions for the symbol being defined. e.g. in your situation Define[f[y] = y+4] would result in ??f f2[y_] := y + 4 and the standard syntax is still available when you actually want to overload a symbol. ********************************************************************* Richard Mercer 513-873-2191 office Department of Mathematics and Statistics 513-873-2785 message Wright State University 513-429-2179 fax Dayton, OH 45435 NeXTmail welcome! richard at rmercer.wright.edu or rmercer at desire.wright.edu *********************************************************************