> > |#I want to do this > > |puts list.join(","){|item| item.downcase} > > | > > |#but I have to do this > > |puts list.collect{|item| item.downcase}.join(",") > > > > Hmm, I feel like this filtering is not part of "join" operation. > > But I'm interested in how others think. > > > > matz. > > Uh, no it doesn't strike me as what 'join' is supposed to do. > Intuitively, I think that a 'join' function should only join the entries > of the array and not modify the entries themselves. > I didn't actually want to change the array items themselves, just use the results of the block for the join. If there was no block it would work just as it does now joining the array element directly. I have only used Ruby for a couple of weeks and I have used this type of thing at least a few times. collect then join works, I just thought it would be faster and use less memory if join took a block and did it directly. It would also seem similar to me to the way that sort works. Without a block sort uses <=> but if given a block it will use the results of that for the sorting. I was looking for the same basic functionality for join. Thanks, Walt ***************************************************** Walter Szewelanczyk IS Director M.W. Sewall & CO. email : walter / mwsewall.com 259 Front St. Phone : (207) 442-7994 x 128 Bath, ME 04530 Fax : (207) 443-6284 *****************************************************