# File lib/more/facets/tuple.rb, line 268 def parse_constraint( constraint, &yld ) constraint = constraint.strip re = %r{^(=~|~>|<=|>=|==|=|<|>)?\s*(\d+(:?[-.]\d+)*)$} if md = re.match( constraint ) if op = md[1] op = '=~' if op == '~>' op = '==' if op == '=' val = cast_from_string( md[2], &yld ) #instance( md[2] ) else op = '==' val = cast_from_string( constraint, &yld ) #instance( constraint ) end else raise ArgumentError, "invalid constraint" end return op, val end