Re: Length of a held expression
- To: mathgroup at smc.vnet.net
- Subject: [mg96533] Re: Length of a held expression
- From: samuel.thomas.blake at gmail.com
- Date: Mon, 16 Feb 2009 06:54:01 -0500 (EST)
- References: <gn8jdj$7qa$1@smc.vnet.net>
Here's one way In[17]:= SetAttributes[heldLength, HoldAll]; heldLength[e_] := Length[Part[Hold //@ Hold[e], 1, 1, 1]] In[19]:= b = Sequence[1, 2]; In[20]:= heldLength[{b, 2}] Out[20]= 2 Cheers, Sam Nikolaus Rath wrote: > Hello, > > How can I get the length of a list in a Hold[] expression? I.e. if > > b = Sequence[1,2]; > > then I want the length of {b,3} given as 2. But > > Length[{b,3}] > > gives me the length after splicing in b (which is 4), while > > Length[Hold[{b,3}]] > > gives me the length of the hold expression (which is 1). > > > Anyone able to help? > > > Best, > > -Nikolaus > > -- > =C2=BBTime flies like an arrow, fruit flies like a Banana.=C2=AB > > PGP fingerprint: 5B93 61F8 4EA2 E279 ABF6 02CF A9AD B7F8 AE4E 425C