MathGroup Archive 2007

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

Search the Archive

Re: Assign delayed but fixed value

  • To: mathgroup at smc.vnet.net
  • Subject: [mg75211] Re: Assign delayed but fixed value
  • From: Albert <awnl at arcor.net>
  • Date: Fri, 20 Apr 2007 00:44:39 -0400 (EDT)
  • 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;
> 

The following does what I think you try to do. Note that the following 
code will return the same value for var even if param changes. This is 
unlikely what you want.

var := If[ValueQ[param], var = Table[Random[Integer, {0,
         3}], {param}], Indeterminate];

Here is a more elaborate version which behaves more reasonable 
concerning different values of param:

varcache[p_]:=varcache[p]=Table[Random[Integer,{0,3}],{param}];

var := If[ValueQ[param], varcache[param],Indeterminate];


Still I wonder why you don't just use a function which accepts an 
argument, which would be much clearer code, I think...

hth,

albert


  • Prev by Date: Re: Assign delayed but fixed value
  • Next by Date: Re: Assign delayed but fixed value
  • Previous by thread: Re: Assign delayed but fixed value
  • Next by thread: Re: Assign delayed but fixed value