Feature #11939
openSyntax sugar to apply a method replace a variable
Description
There is frequent use case to modify the value of a variable and keep it referred to by the same variable name. When method chaining cannot be done (for example, when the method is conditionally called), the same variable name would have to be repeated:
var = ...
var = var.some_method(some_args) if some_condition
var = ...
...
I would like to propose a syntax sugar for this kind of situation. I have two options in mind.
(1) =.
var = ...
var =.some_method(some_args) if some_condition
var = ...
...
(2) .=
var = ...
var .= some_method(some_args) if some_condition
var = ...
...
Notation (2) seems to be in line with syntax sugar like +=
, but option (1) has the advantage that the period comes together with the method name.
Updated by nobu (Nobuyoshi Nakada) almost 9 years ago
Maybe an op assign could be used with (1)?
var +=.some_method(some_args)
Updated by codetodya (Sumit Mahamuni) almost 9 years ago
According to ruby conventions shouldn't that be
var.some_method!(some_args) if some_condition.
Because you are modifying same object. Why do you need new feature?
Updated by sawa (Tsuyoshi Sawada) almost 9 years ago
Nobuyoshi Nakada wrote:
Maybe an op assign could be used with (1)?
var +=.some_method(some_args)
That is interesting. It would be even more useful.