On 6/27/06, Eric Hodel <drbrain / segment7.net> wrote: > Should this me mentioned? > > $ ruby -ve "'cat \'o 9 tails' =~ '\d'" > ruby 1.8.5 (2006-06-27) [powerpc-darwin8.6.0] > -e:1:in `=~': type mismatch: String given (TypeError) > from -e:1 To head of those that might ask (since I was about to before sitting down and thinking it through): The exception is raised specifically for Strings while other non-Regex types just get order reversed because we're avoiding infinite recursion. ie. replacing this call: "cat 'o 9 tails" =~ '\d' with this call '\d' =~ "cat 'o 9 tails" doesn't help, since that second call would just be changed again back to the first, and we would cycle ad infinitum. (It wouldn't make much sense semantically, either). By the way, but Eric's suggestion here and the original patch from Alex apply to the 1.8.4 branch as well as 1.8.5: $ ruby -ve "'cat \'o 9 tails' =~ '\d'" ruby 1.8.4 (2005-12-24) [i386-linux] -e:1:in `=~': type mismatch: String given (TypeError) from -e:1 Jacob Fugal