From: Ruby-Lang@... Date: 2016-09-04T16:40:52+00:00 Subject: [ruby-core:77147] [Ruby trunk Feature#12578] Instance Variables Assigned In parameters ( ala Crystal? ) Issue #12578 has been updated by J��rg W Mittag. By the way, just as a historical note: up to and including Ruby 1.8.7, you could actually do this: ~~~ruby define_method(:initialize) {|@thing_one, @thing_two|} ~~~ I have never actually seen this, though, which you can take as an indication of the usefulness of your suggestion. ---------------------------------------- Feature #12578: Instance Variables Assigned In parameters ( ala Crystal? ) https://bugs.ruby-lang.org/issues/12578#change-60362 * Author: Matt Lankford * Status: Feedback * Priority: Normal * Assignee: ---------------------------------------- When I first saw the instance assignments in Crystal, I was floored... I have looked at all 18 pages in this tracker and thought it "must" have been mentioned in here... but I don't see it... pardon me if I missed it... BUT so in Crystal, this : ```ruby class MyStuff def initialize @thing_one , @thing_two end end ``` would replace : ```ruby class MyStuff def initialize thing_one , thing_two @thing_one = thing_one @thing_two = thing_two end end ``` One of the things I loved about ruby was `attr_accessor` / `reader` / `writer`... I know in Crystal, it is a macro, but still at the millions of lines of boilerplate that would go away... Has no one thought of stealing this from Crystal or is there a good reason this does not exist? ( and I will go sit down and color now ) -- https://bugs.ruby-lang.org/ Unsubscribe: