From: Nathan Clark Date: 2010-12-10T06:47:15+09:00 Subject: Re: Symetric method calls I'm not sure if such a method can be created, but you wouldn't be able to call it anyway; foo.meth(...) = ... is a syntax error, regardless of the parameters or right hand side of '='. An alternative could be to have meth2(a,b) return a container for the value you're wanting to set, and use: foo.meth2(a, b).value = value where .value is a method on the container object returned by meth2. While () = is a syntax error, you can use [] =, by overloading the square brackets, if that does what you want. e.g. def [](a,b) # return the value at that index end def []=(a,b) # set the value at that index end Then use it like: foo[:fizz, :buzz] => nil foo[:fizz, :buzz] = 42 => 42 foo[:fizz, :buzz] => 42