1

$EventMachineコードのこの部分(メソッド)strip_opで変数がどのように機能するかについて混乱しています:String#sub

def receive_data(data)
      @buf = @buf ? @buf << data : data

      while (@buf && !@closing)
        case @parse_state
        when AWAITING_CONTROL_LINE
          case @buf
          when PUB_OP
            ctrace('PUB OP', strip_op($&)) if NATSD::Server.trace_flag?
            return connect_auth_timeout if @auth_pending
            @buf = $'
            @parse_state = AWAITING_MSG_PAYLOAD
            @msg_sub, @msg_reply, @msg_size = $1, $3, $4.to_i

$&、、、など$'の意味は何$1ですか?

4

1 に答える 1

4

それらは、最後の正規表現の一致の一部を保持します。$&:一致した部分文字列、$':一致に続く部分文字列、:一致$1の最初にキャプチャされた部分文字列。

于 2013-01-11T02:59:58.823 に答える