为什么会出现这个错误?
    Regexp.new("[#$]")
    # => SyntaxError: (irb):1: syntax error, unexpected $undefined
    # => Regexp.new("[#$]")
    #              ^
    # (irb):1: unterminated string meets end of file
    #     from ~/.rvm/rubies/ruby-1.9.3-p194/bin/irb:1:in `<main>'
这应该从字面上描述由单个$or组成的字符串子集。#而且,AFAIU Ruby 的 Regexp 引擎,即使它们通常是元字符,也不需要在字符类#中$ 进行转义。
我会从错误消息中猜出 Ruby 试图在双引号内进行插值,但是......为什么$?#订购很重要。和字符有多个重载行为$,#所以我不知道是什么触发了这个。
PS,仅供参考:
    /[#$]/
    # => SyntaxError: (irb):1: syntax error, unexpected $undefined
    /[$#]/
    # => /[$#]/
    Regexp.new '[$#]'
    # => /[$#]/
    Regexp.new '[#$]'
    # => /[#$]/
    Regexp.new "[#$]"
    # => SyntaxError: (irb):1: syntax error, unexpected $undefined