From: matt@... (matt neuburg) Date: 2006-10-12T05:40:15+09:00 Subject: Re: match with string instead of regexp fails Jan Svitok wrote: > On 10/11/06, matt neuburg wrote: > > According to the 1.8.5 core API: > > > > str =~ obj => fixnum or nil > > > > Match. If obj is a Regexp, use it as a pattern to match against str. If > > obj is a String, look for it in str (similar to String#index). Returns > > the position the match starts, or nil if there is no match. > > > > So I expect "cat" =~ "a" #=> 1 > > > > But: > > > > irb(main):013:0> RUBY_VERSION > > => "1.8.5" > > irb(main):014:0> "cat" =~ "a" > > TypeError: type mismatch: String given > > from (irb):14:in `=~' > > from (irb):14 > > from :0 > > > > An undocumented change? Sorry if this has come up before, I did try to > > find out. Thx - m. > > In the CVS [1] there's a new documentation omitting the 'string' > clause, so I suppose it's a documentation error. > > If you know a bit of C you can see for yourself. > > From the CVS history - the TypeError was added around 1.8.2, so it's > there pretty long. > > The doc was fixed between 1.8.5-pre1 and 1.8.5-pre2. Form that it > seems that the docs on ruby-doc are rather old, and not exactly 1.8.5 > ones as they say... > > [1] http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/ruby/string.c?rev=1.182.2.53; > content-type=text%2Fplain Excellent, thanks. m. -- matt neuburg, phd = matt@tidbits.com, http://www.tidbits.com/matt/ Tiger - http://www.takecontrolbooks.com/tiger-customizing.html AppleScript - http://www.amazon.com/gp/product/0596102119 Read TidBITS! It's free and smart. http://www.tidbits.com