Re: Copy and Pasting Tables into Spreadsheet
- To: mathgroup at smc.vnet.net
- Subject: [mg83453] Re: Copy and Pasting Tables into Spreadsheet
- From: Gregory Lypny <gregory.lypny at videotron.ca>
- Date: Wed, 21 Nov 2007 02:42:23 -0500 (EST)
- References: <fhp2jd$1q6$1@smc.vnet.net> <fhu71j$70l$1@smc.vnet.net> <4742DFB0.20107@gmail.com>
Thank you Jean-Marc, I'll look into this. I'm also tinkering with a brute-force script that will flatten and then partition any table to create one with a depth of 3. That should allow copying of numbers as plain text and then pasting them into other applications. Gregory On 20-Nov-2007, at 8:22 AM, Jean-Marc Gulliet wrote: > gregory.lypny at videotron.ca wrote: > > <snip> > >> Is there a way to tell >> Mathematica to return a scalar in all situations when the result >> would >> otherwise be a list with only one element? > > Gregory, > > You could use the system variable *$Post* and set up your own post > processing function. (You might be interested in $PrePrint too.) > Here is an example of such a function that should do what you are > looking for, though you may want to add some additional tests (or > remove few of them). > > In[1]:= $Post = > If[Head[#] === List && Length[#] == 1 && > Depth[#] < 3, #[[1]], #] &; > > prob = {.4, {.6}, {.4, .6}, {{.4, .6}}}; > > prob[[1]] (* Scalar: not a list, depth one *) > prob[[2]] (* List of length one and depth two *) > prob[[3]] (* List of length two and depth two *) > prob[[4]] (* List of length one and depth three *) > > $Post =. (* Reset $Post *) > > Out[3]= 0.4 > > Out[4]= 0.6 > > Out[5]= {0.4, 0.6} > > Out[6]= {{0.4, 0.6}} > > Best regards, > -- > Jean-Marc