|
[Date Index]
[Thread Index]
[Author Index]
Re: [Q] Thread[] and Hold[]
- To: mathgroup at smc.vnet.net
- Subject: [mg18820] Re: [Q] Thread[] and Hold[]
- From: "Alex Scheitlin" <alex-s at worldnet.att.net>
- Date: Thu, 22 Jul 1999 08:19:34 -0400
- Organization: AT&T WorldNet Services
- References: <7n142g$bft@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Thread without the second argument threads over lists. With the second
argument it threads over expressions with head second argument.
Documentation says:
Thread[f[args], h] threads f over any objects with head h that appear in
args.
Thus Thread[f[h[a],h[b],h[c]] returns h[f[a, b, c]].
In your case f is List and h is Hold.
Kevin Jaffe <kj0 at mailcity.com> wrote in message
news:7n142g$bft at smc.vnet.net...
> to comp.soft-sys.math.mathematica, I learned a neat, but rather
> puzzling, trick:
>
> In[4]:= Thread[Hold[{a,b,c}]] (* This I understand *)
>
> Out[4]= {Hold[a], Hold[b], Hold[c]}
>
> In[5]:= Thread[%, Hold] (* This baffles me *)
>
> Out[5]= Hold[{a, b, c}]
>
>
> I can't explain why the form in [5] would be the inverse of the form
> in [4], but be that as it may, with this maneuver one can do nifty
> things like:
>
> In[16]:= Thread[{Hold[1 + 1], Hold[3^2], Hold[3*6]}, Hold]
>
> 2
> Out[16]= Hold[{1 + 1, 3 , 3 6}]
>
> Neither under Thread nor Hold could I find any explanation in the
> Mathematica Book for the behavior in [5]. Does anybody know an
> explanation for it?
>
> Thanks,
>
> KJ
>
>
>
> Get your FREE Email at http://mailcity.lycos.com
> Get your PERSONALIZED START PAGE at http://my.lycos.com
> .
>
Prev by Date:
Re: Slow Version 4 Front End
Next by Date:
Re: Slow Version 4 Front End
Previous by thread:
Re: [Q] Thread[] and Hold[]
Next by thread:
InputStream in version 3 vs version 4
|