RE: & without #
- To: mathgroup at smc.vnet.net
- Subject: [mg73111] RE: [mg73042] & without #
- From: "Virgilio, Vincent - SSD" <Vincent.Virgilio at itt.com>
- Date: Sat, 3 Feb 2007 04:52:22 -0500 (EST)
& is short for Function, which has attribute HoldAll. So Random reevaluates on each iteration of Array in your first example. Hence the unique samples. And Function "eats" the iterator value. Random evaluates once in your second example. Hence the value 3 for each Array iteration. 3 is not a Function, so does not eat the iterator value. Vince Virgilio -----Original Message----- From: Kristen W Carlson [mailto:carlsonkw at gmail.com] Sent: Tuesday, January 30, 2007 11:41 PM To: mathgroup at smc.vnet.net Subject: [mg73111] [mg73042] & without # Hi, To: mathgroup at smc.vnet.net L=Array[Random[Integer,10]&,20] {4,5,9,6,8,5,4,0,9,4,5,2,10,6,3,7,4,2,2,8} Here is what happens without the &: L=Array[Random[Integer,10],20] {3[1],3[2],3[3],3[4],3[5],3[6],3[7],3[8],3[9],3[10],3[11],3[12],3[13],3[ 14],3[15],3[16],3[17],3[18],3[19],3[20]} Can someone who understands this please explain as completely as you can, including how & and # work together, given the behavior of & alone. And is this documented anywhere? This might help and I also post it to help illuminate for those who haven't seen this & usage; it is from Andrzej a while ago (Andrzej I hope you don't mind): In general it means a constant function. For example 3& will return 3 with any argument. But the are at least two "special" functions, which will work like "variable constants" when used in this way. One of them is Random[]& (and various variants of it). Another is Unique [symbol]&, which on every evaluation will produce a unique name based on "symbol". Kris ************************************ This e-mail and any files transmitted with it are proprietary and intended solely for the use of the individual or entity to whom they are addressed. If you have received this e-mail in error please notify the sender. Please note that any views or opinions presented in this e-mail are solely those of the author and do not necessarily represent those of ITT, Inc. The recipient should check this e-mail and any attachments for the presence of viruses. ITT accepts no liability for any damage caused by any virus transmitted by this e-mail. ************************************