Help: Why no output?

*To*: mathgroup at smc.vnet.net*Subject*: [mg34941] Help: Why no output?*From*: kzhang at flashmail.com (Kezhao Zhang)*Date*: Fri, 14 Jun 2002 02:38:44 -0400 (EDT)*Sender*: owner-wri-mathgroup at wolfram.com

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

**Follow-Ups**:**Re: Help: Why no output?***From:*Tomas Garza <tgarza01@prodigy.net.mx>