3 ms·
What's strange is that it seems to have been an offshoot of the pipeline operator (|>) work from last year[1], which was originally proposed as having an assign
by djur 6y ago
What's strange is that it seems to have been an offshoot of the pipeline operator (|>) work from last year[1], which was originally proposed as having an assignment syntax like
foo |> bar(20) |> (x)
where x is assigned to. People didn't like that syntax, and there were issues with = being higher precedence than |> [2]. This new right-assignment operator was created in response to that [3].
The weird thing is that the pipeline operator got killed, so the original reason for r-assign no longer exists. It looks to me like there's just some people on the Ruby team who took a shine to it.
[1]: https://bugs.ruby-lang.org/issues/15799 https://bugs.ruby-lang.org/issues/15799
[2]: https://bugs.ruby-lang.org/issues/15799#note-22 https://bugs.ruby-lang.org/issues/15799#note-22
[3]: https://bugs.ruby-lang.org/issues/15921 https://bugs.ruby-lang.org/issues/15921