Rubyで配列内をオブジェクトに変換する方法
配列内のデータを元にオブジェクトとして変換したい場合
class Sample
attr_accessor :name
def initialize(name)
@name = name
end
end
samples = ["hoge", "fuga", "foobar"]
samples.map! {|sample| Sample.new(sample) }
samples.each do |sample|
p sample.name
end
# Output
# hoge
# fuga
# foobar
多分、普通はこうやってmapの中で変換したりでやるんだと思うんだが。これどうにか簡略化できないものかと。
class Sample
attr_accessor :name
def initialize(name)
@name = name
end
end
samples = ["hoge", "fuga", "foobar"]
samples.map!(&Sample.method(:new))
samples.each do |sample|
p sample.name
end
# Output
# hoge
# fuga
# foobar
てな感じでこうやっても一応できるにはできるっぽい。どうな弊害が起きるかは知らんけどw