Re: Functions and evaluation, returning themselves

• To: mathgroup at smc.vnet.net
• Subject: [mg7265] Re: Functions and evaluation, returning themselves
• From: Paul Abbott <paul at physics.uwa.edu.au>
• Date: Tue, 20 May 1997 02:59:15 -0400 (EDT)
• Organization: University of Western Australia
• Sender: owner-wri-mathgroup at wolfram.com

```Red wrote:

> I am trying to write a function in Mathematica
> that can give a message and return the
> expression entered.
>
> For example
> In[1] :=  Sin[]
>
> ``Sin::"argx":
>  "Sin called with 0 arguments; 1 argument is expected.
>
> Out[1]=  Sin[]

The following rule issues an error message (using the built-in Message
mechanism) if f is called with an incorrect number (i.e. != 1) of
arguments:

f[args___]:= Null/; Length[{args}] != 1 &&
Message[f::"argx",f,Length[{args}]]

As a side-effect of evaluating the Condition -- entered using the infix
shorthand /; which can be read as such that -- the rule on the
right-hand side computes the number of arguments using Length and
(denoted here by &&) prints a message when it is not equal to one (i.e.,
Length[{args}] != 1):

f[1,2]

f::"argx": "f called with 2 arguments; 1 argument is expected."

f[1,2]

Cheers,
Paul

_________________________________________________________________
Paul Abbott
Department of Physics                       Phone: +61-8-9380-2734
The University of Western Australia           Fax: +61-8-9380-1014
Nedlands WA  6907                         paul at physics.uwa.edu.au
AUSTRALIA                           http://www.pd.uwa.edu.au/Paul

God IS a weakly left-handed dice player
_________________________________________________________________

```

• Prev by Date: Re: Re: How to clear all definitions?
• Next by Date: Re: Bugs in Mathematica ver: 3.0 ?
• Previous by thread: Functions and evaluation, returning themselves
• Next by thread: Comparison of Mathematica on Various Computers