Re: List Operations
- To: mathgroup at smc.vnet.net
- Subject: [mg38719] Re: List Operations
- From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
- Date: Tue, 7 Jan 2003 07:26:08 -0500 (EST)
- Organization: Universitaet Leipzig
- References: <av6jub$nug$1@smc.vnet.net>
- Reply-to: kuska at informatik.uni-leipzig.de
- Sender: owner-wri-mathgroup at wolfram.com
Hi, SetAttributes[BackSet, HoldAll] $backsetList = {} BackSet[a_, b_] := (a = b; AppendTo[$backsetList, {Hold[a], Hold[b]}];) Unprotect[Set] Set[a_, b_] /; MemberQ[(First /@ $backsetList) /. Hold[q_] :> Unevaluated[q], a] := Module[{pos, what}, pos = Position[$backsetList, a]; Print[Part[$backsetList, Sequence @@ pos[[1]]]]; what = Part[$backsetList, Sequence @@ pos[[1]]]; Block[{$backsetList = {}}, Evaluate[what] = b; a = b] ] and BackSet[status, {len1, len2}]; status = {3, 2} will work. Regards Jens Hermann Schmitt wrote: > > Hi, > 1) > in the following example len1 and len2 are assigned values. > In[2]=status = {len1, len2} > status1 = {3, 4}; > {len1, len2} = status1; > Print["status: ", status]; > Print["len1: ", len1, " len2: ", len2] > > Out[2]= {len1, len2} > status: {3, 4} > len1: 3 len2: 4 > In[7]:= > > 2) > In this example, len1 and len2 are not assigned values, because status1 is > assigned to status directly. > In[2]=status = {len1, len2} > status1 = {3, 4}; > status = status1; > Print["status: ", status]; > Print["len1: ", len1, " len2: ", len2] > > Out[2]= {len1, len2} > status: {3, 4} > len1: len1 len2: len2 > In[7]:= > > My question is: > Can the result of example 1) be achieved in any way using the variables > status and status1 > Hermann Schmitt