Re: Assign delayed but fixed value

*To*: mathgroup at smc.vnet.net*Subject*: [mg75200] Re: Assign delayed but fixed value*From*: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>*Date*: Fri, 20 Apr 2007 00:39:01 -0400 (EDT)*Organization*: The Open University, Milton Keynes, UK*References*: <f079pm$47d$1@smc.vnet.net>

zac wrote: > Dear Group! > > My target is to define the value of 'var' in terms of the value of > 'param'. The problem is that 'param' is introduced later than 'var', > and this time-sequence cannot be changed. However, I would like to > create 'var' such a way that IF 'param' is known, the value of 'var' > should be the same any time it is called. > Example code: > > In[1]:= > var = Table[Random[Integer,{0,3}],{param}]; > param = 3; > >>From In[1]:= Table::iterb : Iterator {param} does not have appropriate > bounds. More... > > In[3]:= > var > > Out[3]= > {1,1,3} > > In[4]:= > var > > Out[4]= > {0,3,1} > > > The Table::iterb message is a secondary matter, as the two 'var' > outputs do not equal, and this is my primary concern. Any idea how to > solve this task? Thanks in advance. > > Istvan What about using SetDelayed rather than Set? In[1]:= var := Table[Random[Integer, {0, 3}], {param}]; param = 3; var var Out[3]= {1, 1, 2} Out[4]= {3, 1, 2} Regards, Jean-Marc