From: "wardrop (Tom Wardrop)" Date: 2012-08-07T20:29:59+09:00 Subject: [ruby-core:47052] [ruby-trunk - Feature #6841] Shorthand for Assigning Return Value of Method to Self Issue #6841 has been updated by wardrop (Tom Wardrop). Yeah, I thought about making "." a method, but I don't think that would be advantageous. If you were to overload ".", perhaps to intercept all method calls (can't think of any other reasons besides as hook method), it wouldn't really work as there are other means to call a method, such as #send and #__send__, unless they use "." internally? I'd prefer to see a new hook instead, something like #method_called(name) if that was your use case. ---------------------------------------- Feature #6841: Shorthand for Assigning Return Value of Method to Self https://bugs.ruby-lang.org/issues/6841#change-28706 Author: wardrop (Tom Wardrop) Status: Open Priority: Normal Assignee: Category: core Target version: 2.0.0 =begin Quite often in Ruby, I find myself doing something like: (({my_var[:foo][:bar] = my_var[:foo][:bar].to_i})) or (({obj.foo.bar = obj.foo.bar.to_i})). Realising this, I thought of what would be a fairly nice shorthand syntax for this, which could be: (({my_var[:foo][:bar] .= to_i})). How this works should be pretty self-explanatory. The (({.=})) operator works exactly like any other assignment operator of this nature. Would be nice to see this in Ruby 2.0. Wondering what others think of this? =end -- http://bugs.ruby-lang.org/