Re: Unexpected RepeatNull behaviour. BUG?
- To: mathgroup at yoda.physics.unc.edu
- Subject: Re: Unexpected RepeatNull behaviour. BUG?
- From: withoff (David Withoff)
- Date: Thu, 3 Mar 1994 19:24:52 -0600
> In... Mathematica 2.2 for SGI > Copyright 1988-93 Wolfram Research, Inc. > -- Motif graphics initialized -- > > If I define... > > In[253]:= Clear[foo]; foo[l:_Integer...] := {l}; > > then it works as expected... > > In[254]:= foo[1,2,3] > Out[254]= {1, 2, 3} > > In[255]:= foo[1] > Out[255]= {1} > > except for... > > In[256]:= foo[] > Out[256]= foo[] > > Maybe I'm missing something obvious, but why does > > In[257]:= Clear[foo]; foo[l:(_Integer|AnyThing)...] := {l}; > > In[258]:= foo[1] > Out[258]= {1} > > In[259]:= foo[] > Out[259]= {} > > work!!? Please enlighten. You are not missing anything. The RepeatedNull pattern has only been implemented for a limited number of cases. It is hoped that this deficiency can be correct this for a future release. In the meantime, the effect of the RepeatedNull pattern can always be simulated using other methods, such as by using a separate rule for the pattern with no elements. This approach is klunkier than RepeatedNull, but it works. Dave Withoff Research and Development Wolfram Research