From: Yukihiro Matsumoto Date: 2006-05-04T01:13:40+09:00 Subject: Re: [ ruby-Bugs-4344 ] :!~ not a symbol Hi, In message "Re: [ ruby-Bugs-4344 ] :!~ not a symbol" on Wed, 3 May 2006 16:41:42 +0900, noreply@rubyforge.org writes: |Initial Comment: |:!~ is not an instance of Symbol as :=~ is. | |irb(main):001:0> :!~.class |SyntaxError: compile error |(irb):1: parse error, unexpected tNMATCH, expecting tSTRING_CONTENT or tSTRING_DBEG or tSTRING_DVAR or tSTRING_END |:!~.class | ^ | from (irb):1 | |It might just be due to the fact that tNMatch is not included as part of the "op" symbol in parse.y Yes, and it's because !~ (along with &&, ||, etc.) is a part of syntax, not a operator (method). If you really want to create a symbol with a name "!~", you can do it by :"!~", but I don't think that's not what you want. In my opinion, this error is useful to remind you that they are not usual operator symbols. matz.