From: Trans Date: 2007-07-31T05:03:59+09:00 Subject: Re: Case sensitivity in glob revisited On Jul 30, 12:25 pm, "Robert Dober" wrote: > On 7/30/07, Trans wrote: > > > Dir.glob( pattern, [flags] ) => array > > Dir.glob( pattern, [flags] ) {| filename | block } => nil > > ------------------------------------------------------------------------ > > Returns the filenames found by expanding _pattern_ which is an > > +Array+ of the patterns or the pattern +String+, either as an > > _array_ or as parameters to the block. Note that this pattern is > > not a regexp (it's closer to a shell glob). See +File::fnmatch+ > > for > > the meaning of the _flags_ parameter. Note that case sensitivity > > depends on your system (so +File::FNM_CASEFOLD+ is ignored) > > > "case sensitivity depends on your system" > > > Ruby's cross-platform, so Ruby should trump the system. Of course if > > the system is case insensitive, to won't matter wither way. But > > otherwise without this, to get case insensitivity we have to do: > > > Dir.glob("[Ss][Oo][Mm][Ee][Th][Ii][Nn][Gg][Ss][Tt][Uu][Pp][Ii][Dd]") > > Tom what would you expect it to do in the following case: > > touch SomeThingStupid > touch somethingstupid > touch SOMETHINGSTUPID # no, I am not shouting, sorry ;) > > I am afraid Ruby can not overcome some limitations of the cruel, > physical world :(. Oh, I just meant for Dir#glob. Where the docs said "(so +File::FNM_CASEFOLD+ is ignored)" -- I didn't want it to be ignored. T.