 
 
 
 
 
 
Re: Constructing Expressions from List Elements
- Subject: [mg2227] Re: [mg2143] Constructing Expressions from List Elements
- From: wagner at goober.cs.colorado.edu (Dave Wagner)
- Date: Tue, 17 Oct 1995 06:34:45 GMT
- Approved: usenet@wri.com
- Distribution: local
- Newsgroups: wri.mathgroup
- Organization: University of Colorado, Boulder
- Sender: daemon at wri.com ( )
In article <45d02k$5tc at ralph.vnet.net>,
Lou Talman  <me at talmanl.mscd.edu> wrote:
>In[1]:=
>  q = ##&
>Out[1]=
>  ##1 &
>In[2]:=
>  limits = {{x, 0, 1}, {y, -Infinity, Infinity}, {z, 0, 1}}
>Out[3]=
>  {{x, 0, 1}, {y, -Infinity, Infinity}, {z, 0, 1}}
>In[4]:=
>   Integrate[f[x, y, z], Apply[q, limits]]
>Out[5]=
>   Integrate[f[x, y, z], {x, 0, 1}, {y, -Infinity, Infinity}, {z, 0, 1}]
>
>--Lou Talman
>
What Lou is doing is taking a List and turning it into a Sequence.
There's a more direct way to do this:
	Integrate[f[x, y, z], Sequence @@ limits]
Another nice use of this trick is when you have a list of subscripts that
you want to use as a multiple-level index into a list:
	s[[Sequence @@ subscripts]]
Note that s[[subscripts]] behaves quite differently.
You can think of Sequence@@ as an operator that obliterates the
head of the expression it is applied to.  Actually the head List
is replaced by Sequence, which subsequently is flattened.
		Dave Wagner
		Principia Consulting
		(303) 786-8371
		dbwagner at princon.com
		http://www.princon.com/princon

