Brian Candler wrote:
> In that case though, I can't see why it is taking dup copies of the
> elements: it passes them to File.lstat, Dir.open and File.join, but I don't
> think any of those modify their string arguments.

Perhaps not, but what about when it is used with a block, into which the
elements are yielded? The block might call modifying methods on the
strings or objects given. Of course, that will usually be in the same
scope as the method is called, so it would seem rather obvious, but once
you start using Proc objects, it can be a nightmare understanding why
your string objects are shapeshifting on you.

Just my 0.02 NOK... 

-- 
(\[ Kent Dahl ]/)_    _~_    __[ http://www.stud.ntnu.no/~kentda/ ]___/~
 ))\_student_/((  \__d L b__/  NTNU - graduate engineering - 5. year  )
( \__\_/__/ ) _)Industrial economics and technological management(
 \____/_\____/ (____engineering.discipline_=_Computer::Technology___)