MathGroup Archive 2008

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Indefinite numbers of arguments in a function

  • To: mathgroup at smc.vnet.net
  • Subject: [mg87848] Re: Indefinite numbers of arguments in a function
  • From: Szabolcs <szhorvat at gmail.com>
  • Date: Fri, 18 Apr 2008 07:11:00 -0400 (EDT)
  • References: <fu9fnt$c91$1@smc.vnet.net>

On 18 Apr, 08:39, Patrick Klitzke <philologo... at gmx.de> wrote:
> Hello everybody,
> Is it possible to define a function in Mathematica, where the numbers of
> arguments does not matter?
>
> I know the function Plus is defined like that:
>
> I call the function with two arguments( for example Plus[5,3]) or I can
> call the function with five arguments (for example
> Plus[1,6,4,6,8]).
>
> How can i define a function in Mathematica like that? I know I can
> define for ever number of arguments a function like that:
> MyPlus[a_,b_]:=a+b
> MyPlus[a_,b_,c_]:=a+b+c
> MyPlus[a_,b_,c_,d_]:=a+b+c+d
> MyPlus[a_,b_,c_,d_,e_]:=a+b+c+d+e
>
> I also know that I can create a list as one argument:
>
> MyPlus[list_List] := (
>   m = 0; For[n = 1, n < Length[list] + 1, n++, m += list[[n]] ];
>   m
>    )
>
> But since there are functions like Plus, there has to be a way to define
> those kind of functions.

Search for patterns or pattern matching in the documentation. _ is a
pattern that matches a single expression. __ can match one or more
expressions:

myPlus[args__] := Plus[args]


  • Prev by Date: Re: Product command with matrices
  • Next by Date: Re: Scaling Plot inside Row
  • Previous by thread: Re: Indefinite numbers of arguments in a function
  • Next by thread: Re: Indefinite numbers of arguments in a function