[#97678] [Ruby master Feature#16752] :private param for const_set — bughitgithub@...
Issue #16752 has been reported by bughit (bug hit).
5 messages
2020/04/02
[ruby-core:97983] [Ruby master Feature#15921] R-assign (rightward-assignment) operator
From:
daniel@...42.com
Date:
2020-04-20 18:02:28 UTC
List:
ruby-core #97983
Issue #15921 has been updated by Dan0042 (Daniel DeLorme).
Ah right, trying the master branch is the fastest way to get answers, duh. But this brings me to this little surprise:
```ruby
5 + 3 => x #=> 8
5 + 3 => x.to_s #=> undefined method `to_s=' for 8:Integer
5 + 3 => x
.to_s #=> undefined method `to_s=' for 8:Integer
```
So these last 2 expressions are equivalent to `x.to_s = 5 + 3` which tries to call the `to_s=` attribute writer. That makes sense but at the same time it really caught me by surprise! It turns out you can also do this with rescue, e.g. `rescue => obj.attr`. You learn something new everything day.
----------------------------------------
Feature #15921: R-assign (rightward-assignment) operator
https://bugs.ruby-lang.org/issues/15921#change-85212
* Author: nobu (Nobuyoshi Nakada)
* Status: Closed
* Priority: Normal
* Assignee: matz (Yukihiro Matsumoto)
----------------------------------------
From https://bugs.ruby-lang.org/issues/15799#change-78465, proposal of the rightward-assignment operator by `=>`.
```
$ ./ruby -v -e '(1..).lazy.map {|x| x*2} => x' -e 'p x.first(10)'
ruby 2.7.0dev (2019-06-12T06:32:32Z feature/rassgn-assoc c928f06b79) [x86_64-darwin18]
last_commit=Rightward-assign by ASSOC
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
```
https://github.com/nobu/ruby/tree/feature/rassgn-assoc
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>