した。
GitHub: ne-sachirou/AutoAttrInit.rb https://github.com/ne-sachirou/AutoAttrInit.rb
RubyGems: auto_attr_init https://rubygems.org/gems/auto_attr_init
cf. Dart風のautomatic field initializationをRubyで http://c4se.hatenablog.com/entry/2013/09/23/075129
で作ったlibraryに、機能を加えてreleaceした。実用性は無い。
前回の機能では、
require 'auto_attr_init' class Sample def initialize a; end attr_reader :a auto_attr_init end sample = Sample.new 42 assert_equal 42, sample.a
と、auto_attr_initを呼び出さなければならなかったところを、
require 'auto_attr_init' class Sample def initialize @a; end attr_reader :a end sample = Sample.new 42 assert_equal 42, sample.a
とも、出来る様にした。勿論 @merborne さまの提案を鵜呑みにした感じだ。
cf. RubyistたちのDRY症候群との戦い http://melborne.github.io/2013/09/27/auto-attr-set-in-ruby/