Hal Fulton wrote: > Peñá, Botp wrote: > >> Joel VanderWerf [mailto:vjoel / PATH.Berkeley.EDU] commented: >> >> >>>> What if we allow Integer#* to take a block? >>>> >>>> a,b,c,d,e = 5 * { Array.new } >>> >>> >>> Visually nice, but some would read that as "five times array dot >>> new", which is a lot like the reading of >>> >>> 5.times { Array.new } >> >> >> >> >> so maybe, we'd want rather >> >> a,b,c,d,e = { Array.new } * 5 >> >> ? > > > Not IMO. I still like the other much better. > > It seems clear that the result of x*y is "always" an expression; > I don't think we expect it to iterate as #times does. > > Although I grant you, they're pronounced the same. If you ever > dictate your code to someone over the phone, it could be a > problem. :P Actually I guess both these are bad syntax. You would have to use proc, I suppose. a,b,c = 3 * proc { Array.new } And suddenly it seems like more trouble than it is worth. Hal