This is a Ruby tree! It shows every object from the Ruby Programming Language in a tree format.

=~

        # Regexp.=~

(from ruby core)
---
    rxp =~ str    -> integer or nil

---

Match---Matches *rxp* against *str*.

    /at/ =~ "input data"   #=> 7
    /ax/ =~ "input data"   #=> nil

If `=~` is used with a regexp literal with named captures, captured
strings (or nil) is assigned to local variables named by the capture
names.

    /(?<lhs>\w+)\s*=\s*(?<rhs>\w+)/ =~ "  x = y  "
    p lhs    #=> "x"
    p rhs    #=> "y"

If it is not matched, nil is assigned for the variables.

    /(?<lhs>\w+)\s*=\s*(?<rhs>\w+)/ =~ "  x = "
    p lhs    #=> nil
    p rhs    #=> nil

This assignment is implemented in the Ruby parser. The parser detects
'regexp-literal =~ expression' for the assignment. The regexp must be a
literal without interpolation and placed at left hand side.

The assignment does not occur if the regexp is not a literal.

    re = /(?<lhs>\w+)\s*=\s*(?<rhs>\w+)/
    re =~ "  x = y  "
    p lhs    # undefined local variable
    p rhs    # undefined local variable

A regexp interpolation, `#{}`, also disables the assignment.

    rhs_pat = /(?<rhs>\w+)/
    /(?<lhs>\w+)\s*=\s*#{rhs_pat}/ =~ "x = y"
    p lhs    # undefined local variable

The assignment does not occur if the regexp is placed at the right hand
side.

    "  x = y  " =~ /(?<lhs>\w+)\s*=\s*(?<rhs>\w+)/
    p lhs, rhs # undefined local variable



      

This is MURDOC! A Ruby documentation browser inspired by Smalltalk-80. It allows you to learn about Ruby by browsing through its class hierarchies, and see any of its methods.