Re: Don't understand replacement rule for some functions

*To*: mathgroup at smc.vnet.net*Subject*: [mg89559] Re: Don't understand replacement rule for some functions*From*: dh <dh at metrohm.ch>*Date*: Thu, 12 Jun 2008 06:31:05 -0400 (EDT)*References*: <g2qhhr$8or$1@smc.vnet.net>

Hi Mac, arguments of functions without special attributes like HoldFirst,.. are evaluated before beeing fed to the function. Therefore, RandomReal[GammaDistribution[L, 1/L], 2] is evaluated before beeing fed to ReplaceAll. You may prevent this by wrapping it into Hold or HoldForm. Hope this helps, Daniel Mac wrote: > Can somebody explain why the following replacement rule works > > In[15]:= f[x] /. x -> y > > Out[15]= f[y] > > and this one complains > > In[14]:= RandomReal[GammaDistribution[L, 1/L], 2] /. L -> 3 > > During evaluation of In[14]:= RandomReal::parpos: The parameter L in \ > position 1 of GammaDistribution[L,1/L] should be positive >> > > Out[14]= {1.89311, 1.11748} > > I find it quite elegant to use replacements for complicated functions > but I'm never quite sure whether the replacement is actually carried > out because of such behavior. > > Many thanks again for your help. > > Mac > -- Daniel Huber Metrohm Ltd. Oberdorfstr. 68 CH-9100 Herisau Tel. +41 71 353 8585, Fax +41 71 353 8907 E-Mail:<mailto:dh at metrohm.com> Internet:<http://www.metrohm.com>