MathGroup Archive 2002

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

Search the Archive

Help: Why no output?


The behavior of the following function is puzzling to me:

In[1]:=f[x_, n___Integer] := If[Length[{n}] == 1, n  , Length[x]]
In[2]:=f[0.5]  (* Nothing returned. *)
In[3]:=f[{1,2}] (* Nothing returned. The length of x should be
returned *)
(* However, with the modification to f, everything works as intended
*)
In[4]:=f[x_, n___Integer] := If[Length[{n}] == 1, 1*n  , Length[x]]
                                                 ^^^^^^
In[5]:=f[0.5]
Out[5]:=0
In[6]:=f[{1,2}]
Out[6]:=2         

Could anyone help me understand why changing n to (1*n) in the If[]
statement makes such difference? Why doesn't f[] defined in the In[1]
work?

Thanks for your help.

Kezhao Zhang


  • Prev by Date: Export color bug in Mac OS X?
  • Next by Date: Re: Nonlinear Programming?
  • Previous by thread: Export color bug in Mac OS X?
  • Next by thread: Re: Help: Why no output?