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.