From: ko1@... Date: 2017-11-29T06:25:19+00:00 Subject: [ruby-core:83942] [Ruby trunk Feature#8563] Instance variable arguments Issue #8563 has been updated by ko1 (Koichi Sasada). Not so serious idea. ``` class Binding def set_attributes(attrs = self.local_variables) attrs.each{|attr| self.receiver.instance_variable_set(:"@#{attr}", self.local_variable_get(attr)) } end end class C def initialize a, b binding.set_attributes end end p C.new(1, 2) #=> # ``` ---------------------------------------- Feature #8563: Instance variable arguments https://bugs.ruby-lang.org/issues/8563#change-67999 * Author: sawa (Tsuyoshi Sawada) * Status: Assigned * Priority: Normal * Assignee: matz (Yukihiro Matsumoto) * Target version: ---------------------------------------- Often times, people want to assign given arguments to instance variables, especially inside the method `initialize`: ~~~Ruby def initialize foo, bar, buz @foo, @bar, @buz = foo, bar, buz ... end ~~~ I propose to let method definition take instance variables as arguments so that: ~~~Ruby def initialize @foo, @bar, @buz ... end ~~~ would be equivalent as above. -- https://bugs.ruby-lang.org/ Unsubscribe: