Re: Pipes Inside Mathematica?

*To*: mathgroup at smc.vnet.net*Subject*: [mg45673] Re: Pipes Inside Mathematica?*From*: bobhanlon at aol.com (Bob Hanlon)*Date*: Mon, 19 Jan 2004 05:15:17 -0500 (EST)*References*: <bua3rl$ipr$1@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

{5*Pi, 13*E} // IntegerPart // Table[0, {#[[1]]}, {#[[2]]}] & Bob Hanlon In article <bua3rl$ipr$1 at smc.vnet.net>, Harold.Noffke at wpafb.af.mil (Harold Noffke) wrote: << I think Mathematica would be a better programming language if it had a construct that allowed pipes (like Unix does). The //-mark comes close to facilitating this, but Mathematica needs a placeholder to denote "result from preceding //-mark". Here's a short example to illustrate what would be gained. In[1]:= m = 5*Pi // IntegerPart Out[1]= 15 In[2]:= n = 13*E // IntegerPart Out[2]= 35 In[3]:= Table[0, {m}, {n}] // MatrixForm Out[3]//MatrixForm= 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 > > 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 : : : : : : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 > 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 What we would really like to write is the preceding computation as a pipeline, so that it looks something like this ... {{5*Pi},{13*E}} // IntegerPart // Table[0, Extract[<?>,1], Extract[<?>,2]] // MatrixForm The <?> symbol means, "I don't know what to put here" -- it's a placeholder for whatever Mathematica wants to use as "result from preceding //-mark". Maybe @ would make a good placeholder here, and what we would see on screen is ... {{5*Pi},{13*E}} // IntegerPart // Table[0, Extract[@,1], Extract[@,2]] // MatrixForm I think Mathematica will be a better programming language if it adopts some sort of pipe convention.